0

我有一个服务于 websockets 的服务器(Bootstrap Java)。我正在尝试使用python websockets库来构建一个集成测试框架,但是我对python asyncio并不熟悉,所以我认为我犯了一些初学者的错误!

我已经创建了我的 websocket

    async def __async_connect(self, address):
    print("opening websocket on ", address)
    self.ws = await websockets.connect(address)

    def open_connection(self, address, firmware_version="103"):
    if self.ws is None:
        loop = asyncio.get_event_loop()
        loop.run_until_complete(self.__async_connect(address))

并且可以发送/接收消息。但是,当服务器决定关闭 websocket 时,python 客户端继续运行,甚至会向它发送消息

消息 = 等待 self.ws.send(json.dumps(message))

我使用 websocket 客户端 chrome 扩展进行了测试,它正确地确定服务器已关闭连接。我还使用 ping_interval=None 进行了测试,以查看是否是 ping 使连接保持活动状态,但事实并非如此。我是否遗漏了一些可以让 python 检测到服务器已关闭连接的东西?尽管 chrome 扩展和 websocket-client 都能够检测到关闭,但我是否没有正确关闭 websocket?

4

0 回答 0