Я изменил пример для websocket
клиента, которого я нашел здесь , например:
import asyncio
import websockets
async def hello(messages):
async with websockets.connect('ws://localhost:8765') as websocket:
for m in ('msg1', 'msg2'):
await websocket.send(m)
print(f"> {m}")
greeting = await websocket.recv()
print(f"< {greeting}")
asyncio.get_event_loop().run_until_complete(hello(['name1', 'name2']))
Но теперь я получаю исключение, как только второй send()
будет выполнен:
Traceback (most recent call last):
File "ws-client.py", line 44, in <module>
main()
File "ws-client.py", line 41, in main
asyncio.get_event_loop().run_until_complete(hello(['name1', 'name2']))
File "/usr/lib64/python3.6/asyncio/base_events.py", line 468, in run_until_complete
return future.result()
File "ws-client.py", line 35, in hello
greeting = await websocket.recv()
File "/home/frans/.local/lib/python3.6/site-packages/websockets/protocol.py", line 350, in recv
yield from self.ensure_open()
File "/home/frans/.local/lib/python3.6/site-packages/websockets/protocol.py", line 512, in ensure_open
self.close_code, self.close_reason) from self.transfer_data_exc
websockets.exceptions.ConnectionClosed: WebSocket connection is closed: code = 1000 (OK), no reason
Я не настолько увлечен asyncio
- может кто-нибудь сказать мне, что я делаю не так?
Я также взял код сервера из примера ..