1

我正在尝试学习称为 Web Sockets 的新技术。我已经完成了设置(pywebsocket 作为 Apache2 模块),并且正在使用示例。 http://code.google.com/p/websocket-sample/wiki/samples?ts=1262888726&updated=samples

一件事困扰着我——所有的例子都使用共享文件来监控消息计数器、用户计数器的变化。

所以基本上当我使用 2 个浏览器连接到 ws://localhost/chat 时,将会运行 2 个 chat_wsh.py 实例(websock 处理程序)。正确的?他们都将访问文件/数据库进行计数。

这可能是一个愚蠢的问题,但我不是网络专家 - 是否可以从一个处理程序向所有连接广播消息。

例如:来自聊天的用户发送消息 - 通过 websocket 的消息到达 websocket 处理程序,该处理程序又将收到新消息的信息广播给所有其他聊天实例,从而消除了每个实例不断检查一个共享文件/数据库的需要。

我希望我有道理:)

4

1 回答 1

3

我认为您正在尝试描述 UDP 多播。

有关更多信息,请参阅此链接

不幸的是,Websockets 在 TCP 上工作,正如您在一对一连接中所发现的那样。

您可以查看 memcached http://memcached.org/之类的东西,以使其“低开销”以保持聊天室的共享状态

于 2010-01-26T00:08:17.467 回答