Ошибка обработчика соединения с веб-сокетомPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка обработчика соединения с веб-сокетом

Сообщение Anonymous »

У меня есть сервер и клиент, с которыми я пытаюсь связаться друг с другом, но получаю ошибки от клиента:

Код: Выделить всё

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())

Клиент должен подключаться к серверу по протоколу OCPP, который я реализую позже, но сейчас я сосредоточился только на том, чтобы заставить их общаться. Изначально у меня не было проблем; Я использовал библиотеку и примеры из ocpp и реализовал как клиент, так и сервер со всеми функциями. После сброса (по другим причинам) Raspberry Pi, на котором я запускаю оба, и переустановки библиотеки WebSocket я больше не могу заставить их общаться. Итак, я переписал сервер и клиент на гораздо более простом уровне, просто чтобы проверить соединение.


Подробнее здесь: https://stackoverflow.com/questions/793 ... ler-failed
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»