在这里,我们使用制作了一个简单的echo websocket asyncio。我们定义了用于连接到服务器以及发送/接收消息的协程。WebSocket的通信在main协程中运行,协程由事件循环运行。此示例是从先前的帖子中修改而来的。
import asyncio import aiohttp session = aiohttp.ClientSession() # 处理上下文管理器 class EchoWebsocket: async def connect(self): self.websocket= await session.ws_connect("wss://echo.websocket.org") async def send(self, message): self.websocket.send_str(message) async def receive(self): result = (await self.websocket.receive()) return result.data async def main(): echo = EchoWebsocket() await echo.connect() await echo.send("你好,世界!") print(await echo.receive()) # "你好,世界!" if __name__ == '__main__': # 主循环 loop = asyncio.get_event_loop() loop.run_until_complete(main())