Как вручную закрыть веб-сокет - PullRequest
0 голосов
/ 07 октября 2018

Если я не использую контекст для веб-сокета, как бы я вручную закрыл его?Когда я пытаюсь запустить conn.close (), я получаю ошибку event loop is closed.Вот что у меня есть:

from asgiref.sync import async_to_sync
import websockets

# connect -- works OK
conn = async_to_sync(websockets.connect)("ws://localhost:8000/ws/registration/123/")

# send message -- works OK
async_to_sync(conn.send)("hello")

# disconnect -- doesn't work
async_to_sync(conn.close)()

Какой должна быть последняя часть этого?

1 Ответ

0 голосов
/ 08 октября 2018

Вы можете использовать библиотеку websocket-client , она уже синхронизирована и довольно проста.

Установить

pip install websocket-client

Использование

from websocket import create_connection
ws = create_connection(someWsUrl)  # open socket
ws.send(someMessage)  # send to socket
ws.recv(nBytes)  # receive from socket
ws.close()  # close socket
...