Я планирую написать класс WebsocketHandler
, который обернет пакет websockets
Это код:
import asyncio
import websockets
class WebsocketHandler:
__connection = None
def __init__(self):
asyncio.run(self.__setConnection())
async def __setConnection(self):
async with websockets.connect("ws://localhost/your/path") as websocket:
self.__connection = websocket
print("Connected")
def send(self, msg):
self.__connection.send(msg)
print("message Send")
ws = WebsocketHandler()
ws.send("message")
Для серверной части у меня есть другойготовый скрипт, который работает (протестирован с другими скриптами на других языках), который отправляет мне сообщение, когда у меня новое соединение, когда я получаю сообщение и когда у меня отключается клиент.
Когда я пытаюсь это сделать скриптуспешно подключиться к моему серверу веб-сокетов (сценарий печати Connected
и на стороне сервера я получаю новое подключение).
Затем в моем сценарии появляется предупреждение
RuntimeWarning: coroutine 'WebSocketCommonProtocol.send' was never awaited
self.__connection.send(msg)
И затем мойсценарий печати Message send
и он останавливается.
Проблема в том, что на стороне сервера я не получаю факт наличия сообщения, а только тот, который говорит мне, что клиент отключен. В основном скрипт не отправляет сообщение и не выдает ошибку.
Кто-нибудь знает, в чем проблема?