17

在问这个问题之前我做了一些研究,但我找不到适合我情况的具体答案。

我想创建与服务器上的数据库实时同步的 WebChat。(MySQL 或 MongoDB - 都可以)但是关于同步数据,有几种方法可以做到:

  1. Ratchet 的 PHP + websockets 和我的工作只是通过 JSON 创建一个协议来进行身份验证和消息传递。许多文档,许多教程。(我知道 websockets 在 IE 中不起作用,但没关系)

  2. node.js + socket.io - 有与 1 相同的技术解决方案。但语言不同。

  3. node.js + meteor.js (sockJS) - 似乎大家都做了所有的工作,我不需要添加任何协议功能,只需编写逻辑代码。但是高负载呢?文档怎么样......非常年轻的框架。

  4. Tornado + TornadIO2 (socket.io) + RabbitMQ

有人可以将 RabbitMQ 与流星.js 进行比较吗?按性能。有人可以说哪种方式更好吗?

我不了解所有框架,所以如果我有比这四个更好的选择,请告诉我:)

请给我你的意见。谢谢!

4

3 回答 3

10

我推荐基于php的websocket服务器:Ratchet。我使用它,并且这个链接是在RatchetSockJS之间对 webSocket 服务器进行基准测试

因为你想做网络聊天,所以需要最好的性能和良好的cpu功率。Ratchet在客户端和服务器之间处理消息有很好的解决方案。它有广播发送消息和一组客户端的特殊发送消息,而且它对服务器事件有很好的控制例如,ZMQ Libarary.Ratchet 和 ZMQ 的 mysql 更新位于Reactphp项目之上

您还可以看到 WebRTC(与 WebSockets 相关的技术),这是增强现代 Web 浏览器通信能力的另一项努力。WebRTC 是 Web 的点对点技术。WebRTC 的第一个应用是实时语音和视频聊天。WebRTC 已经是一种引人注目的媒体应用新技术,并且有许多可用的在线示例应用程序使您能够通过 Web 使用视频和音频进行测试。请检查此链接

于 2013-07-14T04:26:46.557 回答
1

对于实时数据网络客户端同步,我知道的解决方案是:

于 2013-01-10T11:41:38.553 回答
0

不幸的是,我只能代表前三个发言。我对 websockets(包括 socket.io)的体验一般都低于标准,包括零星的断开连接和复杂的连接系统。然而,话虽如此,它非常强大和多样化。使用 websockets,您几乎可以在任何平台上运行服务器或客户端。Socket.io 在一定程度上限制了这一点,但实际上只是 websockets 的一个子集。然而,流星是一个完全不同的球赛。虽然一开始令人困惑,但构建和部署应用程序的简单程度给我留下了深刻的印象。它功能强大且灵活。根据网络聊天的复杂程度,任何一个都是不错的选择。如果你想做一些更简单的事情,我会选择 socket.io。对于更复杂的我会推荐流星。

希望这可以帮助。

于 2013-01-09T20:21:50.503 回答