我在Websocket上有点烦恼,并且对运行基本WebSocket连接的龙卷风服务器的运行非常容易。我以前从未使用过龙卷风,虽然我喜欢我所看到的,但我对它的使用有一些问题。

主要是,我正在使用Websockets,因此我可以在两台或多台客户端机器之间进行低空通信。 (就对话的目的,让我们说这是一个聊天客户端)显然我可以从多台机器连接到服务器,它们都可以将消息推向服务器,服务器可以响应,这很棒!但这并不比您的标准AJAX请求好得多。如果我有持续的连接,我也希望能够将数据推向客户端。最简单的方案是用户1向服务器发布消息,并在接收到服务器后立即将其推向用户2。

那么,做到这一点的好方法是什么呢?据我在龙卷风中看到的是,除了将消息放在数据存储器中并在其他地方放置所有其他连接以获取新信息以外,无法在连接之间进行交流。不过,这使我感到非常笨拙,因为那时您真正要做的就是将投票过程从客户端移动到服务器。

当然,我可能完全在这里吠叫错误的树。龙卷风根本不是这份工作的正确工具,如果是这样,我很高兴听到有关替代方案的建议!

有帮助吗?

解决方案

这是使用Tornado,Websocket和Redis的聊天服务器: https://gist.github.com/pelletier/532067 (更新: :链接修复,谢谢@samidht)

其他提示

尽管答案已经被接受:使用其他服务对我来说似乎仍然很低。您为什么不只是使用共享内存 +条件变量 /信号量?您听起来好像有一个标准的消费者问题

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top