Node.JS 寻找 socket.IO 的替代方案

Posted

技术标签:

【中文标题】Node.JS 寻找 socket.IO 的替代方案【英文标题】:Node.JS Looking for an alternative to socket.IO 【发布时间】:2010-10-12 04:49:40 【问题描述】:

我已经测试 Node.JS 和 Socket.IO 几天了。我对实时应用程序感兴趣,这就是我测试 Socket.IO 的原因,问题是我在几个浏览器上发现了很多问题。 Chrome 总是可以运行,但 IE 和 Firefox 只能运行几次。

我的问题是,有没有办法在没有套接字(socket.io)的情况下将信息从服务器推送到客户端?我不想在客户端设置一个时间间隔,然后每隔“n”秒检查一次服务器端是否有变化。

【问题讨论】:

Socket.io !== websockets,还有其他的node websocket库,比如websocket-node github.com/Worlize/WebSocket-Node 【参考方案1】:

Faye 是用于 Node.js 推送应用程序的 Socket.IO 的良好替代品。

来自 Faye 网站:

Faye 是一个易于使用的 发布订阅消息系统 基于 Bayeux 协议。它 为 Node.js 提供消息服务器 和 Rack,以及用于 Node 的客户端 和 Ruby 程序以及在浏览器中。

【讨论】:

【参考方案2】:

您可以尝试长轮询。它相对简单,几乎可以在任何浏览器中使用。看看这个:

http://jsguy.com/?p=103

希望对你有帮助

【讨论】:

【参考方案3】:

Socket.IO 最近出现了一些错误,但它们正在积极处理中,因此我鼓励您稍后再回来查看(它现在甚至可能已经工作得更好,因为几乎每天都有提交)。这是您应该关注的问题:http://github.com/LearnBoost/Socket.IO-node/issues#issue/63

【讨论】:

以上是关于Node.JS 寻找 socket.IO 的替代方案的主要内容,如果未能解决你的问题,请参考以下文章

Socket.IO 对 Node.js 有啥作用

Node.js + Socket.io + Apache

Node.js - 如何从 app.js 外部发出 socket.io 事件?

通过Node.js和Socket.io来实现手机的远程控制

是否可以在 node.js 服务器上设置运行(服务器端)的 socket.io 客户端?

未找到 Socket.io.js(node.js + express + socket.io)