Код: Выделить всё
sudo python3 client_base.py
INFO:root:Connected to server at ws://localhost:9000//ocpp with subprotocol ocpp1.6
INFO:root:Sent message: Hello from WebSocket client!
ERROR:root:Connection closed with error: received 1011 (internal error); then sent 1011 (internal error)
Код: Выделить всё
sudo python3 server_base.py
INFO:websockets.server:server listening on 127.0.0.1:9000
INFO:websockets.server:server listening on [::1]:9000
INFO:root:WebSocket server started on ws://localhost:9000
INFO:websockets.server:connection open
ERROR:websockets.server:connection handler failed
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/websockets/asyncio/server.py", line 373, in conn_handler
await self.handler(connection)
^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: echo() missing 1 required positional argument: 'path'
connection handler failed
Код: Выделить всё
import asyncio
import websockets
import logging
# Configura il logger per il debug
logging.basicConfig(level=logging.INFO)
async def websocket_client():
uri = "ws://localhost:9000/ocpp" # Indirizzo del server WebSocket
subprotocols = ["ocpp1.6"] # Subprotocollo richiesto
try:
# Connessione al server
async with websockets.connect(uri, subprotocols=subprotocols) as websocket:
logging.info(f"Connected to server at {uri} with subprotocol {subprotocols[0]}")
# Invia un messaggio al server
message = "Hello from WebSocket client!"
await websocket.send(message)
logging.info(f"Sent message: {message}")
# Ricevi una risposta dal server
response = await websocket.recv()
logging.info(f"Received response: {response}")
except websockets.exceptions.InvalidHandshake as e:
logging.error(f"Handshake failed: {e}")
except websockets.exceptions.ConnectionClosedError as e:
logging.error(f"Connection closed with error: {e}")
except Exception as e:
logging.error(f"Unexpected error: {e}")
# Esegui il client
if __name__ == "__main__":
asyncio.run(websocket_client())
Код: Выделить всё
import asyncio
import websockets
import logging
logging.basicConfig(level=logging.INFO)
async def echo(websocket, path):
logging.info("Client connected")
try:
async for message in websocket:
logging.info(f"Received: {message}")
await websocket.send(f"Echo: {message}")
except Exception as e:
logging.error(f"Error: {e}")
async def main():
server = await websockets.serve(echo, "localhost", 9000)
logging.info("WebSocket server started on ws://localhost:9000")
await server.wait_closed()
if __name__ == "__main__":
asyncio.run(main())
Подробнее здесь: https://stackoverflow.com/questions/793 ... ler-failed