对Tornado WebSocket服务器的并发连接

2 投票
1 回答
1408 浏览
提问于 2025-04-17 12:36

我们正在尝试搭建一个服务器,使用的是“tornado.websocket.WebSocketHandler”。

和“demos\websocket\chatdemo.py”中展示的情况相反,我们希望每个客户端都能建立自己的私人会话,而不是把消息广播给所有连接的用户。

我们该如何识别每个“等待者”,并把每条消息送到应该接收它的其他客户端呢?

1 个回答

1

首先,发送给服务器的第一条消息必须包含一些数据,以便识别客户端。

处理程序会把自己保存到一个共享的数据中,并与客户端的ID关联起来。最简单的方法就是把这些信息保存在一个字典里,作为websocket应用的属性。

如果需要给某些客户端发送消息,就从共享的数据中找到他们的处理程序,然后调用处理程序的发送方法。

撰写回答