Websocket Faye vs.Socket.IO(和Juggernaut)
似乎是最流行和最活跃的WebSocket仿真库。使用它创建完整的发布/订阅系统 它也很流行和活跃,并且有自己的javascript库,使其完整的功能与Juggernaut相当。Juggernaut使用节点作为服务器,Faye可以使用节点或机架。Juggernaut使用Redis进行持久化(更正:它使用Redis进行发布/订阅),Faye只在内存中保存状态Websocket Faye vs.Socket.IO(和Juggernaut),websocket,publish-subscribe,juggernaut,bayeux,socket.io,Websocket,Publish Subscribe,Juggernaut,Bayeux,Socket.io,似乎是最流行和最活跃的WebSocket仿真库。使用它创建完整的发布/订阅系统 它也很流行和活跃,并且有自己的javascript库,使其完整的功能与Juggernaut相当。Juggernaut使用节点作为服务器,Faye可以使用节点或机架。Juggernaut使用Redis进行持久化(更正:它使用Redis进行发布/订阅),Faye只在内存中保存状态 以上一切都准确吗 Faye说它实现了——我认为Juggernaut没有做到这一点——是因为Juggernaut是较低级别的(即,我可以使用Ju
- 我不知道Socket.IO需要什么样的服务器端支持,Faye客户端(记住,Node和Ruby中都有服务器端客户端)能够与任何Bayeux服务器(以及Faye服务器与任何Bayeux客户端)通信的要求可能会打破交易
- Bayeux对服务器和客户端支持某些传输类型有特定的要求,并说明了如何协商使用哪种传输类型。它还指定如何使用它们,例如XHR请求的内容类型如何影响其内容的解释方式
- 例如,对于某些类型的错误处理,我需要直接访问传输
- 如果我有任何错误,请纠正我-这是基于对Socket.IO文档的粗略扫描
- 服务器端和客户端扩展
- 通道路由上的通配符模式匹配
- 自动重新连接,例如当WebSocket死亡或服务器脱机时
- 客户端可以在所有浏览器、手机上工作,服务器端可以在Node和Ruby上工作
我希望这对您有所帮助。谢谢您的回答。我没有意识到Redis只用于其pub/sub功能。让我问:谢谢你的回答。我没有意识到Bayeux协议的灵活性——所以任意客户端应该能够与任意/多个服务器通信?你知道有任何项目或生产服务充分利用了这一点吗?我最近从Socket.IO搬到了Faye,我必须说Faye保存了我的应用程序。有了一个简单的Faye服务器和一个中型服务器,根据google Analytics,我的应用程序可以同时处理6000个用户,以防Juggernaut被弃用!阅读为什么.HTML5服务器发送的事件似乎是推荐的替代方案