以下是一个示例代码,演示如何保持WebSocket连接打开而不接收传入的帧:
import asyncio
import websockets
async def keep_connection_open(websocket, path):
while True:
# 等待接收传入的帧
frame = await websocket.recv()
# 忽略传入的帧,不做任何处理
# 可以在这里添加自定义的逻辑
print("Received frame:", frame)
# 发送一条消息到WebSocket连接
message = "Hello, client!"
await websocket.send(message)
print("Sent message:", message)
async def main():
# 创建WebSocket服务器
server = await websockets.serve(keep_connection_open, 'localhost', 8765)
# 保持服务器运行
await server.wait_closed()
# 运行主函数
asyncio.run(main())
在上述代码中,我们创建了一个名为keep_connection_open的协程,它作为WebSocket服务器的处理程序。在这个示例中,我们忽略了传入的帧,但你可以在这里添加自定义的逻辑来处理传入的帧。
然后,我们使用websockets.serve()函数创建WebSocket服务器,并将keep_connection_open作为处理程序传递给它。我们指定了服务器的主机为localhost,端口为8765。
最后,我们使用asyncio.run()来运行main协程,该协程保持服务器运行。
请注意,这只是一个简单的示例,你可以根据需求进行修改和扩展。
下一篇:保持WebView活动的活跃