我正在尝试为客户端使用 websocket。客户端发送一些启动消息,之后,他可以接收消息,无论何时发送或不发送。客户端是异步的,我从 doc 那里得到了一些代码,但我不知道我在做什么。
async def wsrun(uri):
async with websockets.connect(uri) as websocket:
await websocket.send('hey')
print(await websocket.recv()) # Starts receive things, not only once
asyncio.get_event_loop().run_until_complete(wsrun('wss://localhost:1515'))
Run Code Online (Sandbox Code Playgroud)
问题是,websocket recv 只显示服务器发送的第一件事:(
我的代码出现了一些问题。我有一个aiohttp客户端会话,它通过请求与网站进行通信。
问题是,当我长时间运行代码时,我开始收到一些错误,例如ClientResponseError
, ServerDisconnectedError
, Error 101
。所以我正在阅读文档,我看到了这个:
release()
将连接释放回连接器。
底层套接字未关闭,如果连接超时(默认为 30 秒)未过期,则稍后可以重用连接。
但我不明白。有人可以简单地解释一下吗?它会解决我的问题吗?
session = aiohttp.ClientSession(cookie_jar=cookiejar)
while True:
await session.post('https://anywhere.com', data={'{}': ''})
Run Code Online (Sandbox Code Playgroud)