小编Del*_*lsx的帖子

如何永远运行异步 websocket 客户端?

我正在尝试为客户端使用 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 只显示服务器发送的第一件事:(

python asynchronous websocket

3
推荐指数
1
解决办法
3085
查看次数

获取 ServerDisconnectedError 异常,Connection.release() 会帮助解决这个问题吗?

我的代码出现了一些问题。我有一个客户端会话,它通过请求与网站进行通信。

问题是,当我长时间运行代码时,我开始收到一些错误,例如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)

python python-asyncio aiohttp

0
推荐指数
1
解决办法
3158
查看次数