我是node.js和SSE的新手。 我想使用SSE和node.js创建一个聊天应用程序。 任何一个更好的SSE或websocket指南? 是否有任何使用js而不是php for IE7 +的IE的polyfill
请建议。
提前致谢。
答案 0 :(得分:1)
如果客户端永远不会向服务器发出请求,并且服务器将进行所有推送,那么您应该使用服务器发送的事件。
但是,对于聊天应用程序,由于客户端需要不断向服务器发送请求,因此WebSocket API是最自然的选择。
" polyfills"对于WebSocket API,其他技术可以以更低效的方式模仿套接字连接,例如,Ajax长轮询。
像Socket.IO这样的WebSocket库设计为在可用时使用WebSocket API,并在WebSocket API不可用时回退到其他技术,如Ajax长轮询。
您使用的服务器端语言几乎无关紧要。
答案 1 :(得分:1)
首先考虑兼容性。
SSE: http://caniuse.com/#feat=eventsource
IE:没有支持
Firefox:版本6 +
Opera:版本11 +
Chrome:未知版本+
Safari:版本5.1 +
WebSocket :(协议13) http://caniuse.com/#feat=websockets
IE:版本10 +
Firefox:版本11 +
Opera:版本12.1 +
Chrome:版本16 +
Safari:版本6 +
我知道很多适用于WebSockets的模块(包括我自己编写的模块simpleS,我做了一个简单的演示聊天,以显示如何在频道中组织连接,试一试),以及与SSE一起运行的那些比较少,我想最后的那些测试较少,与使用WebSockets的模块相比,你不能依赖它们。
您可以在此处找到有关WebSockets和SSE的模式信息:WebSockets vs. Server-Sent events/EventSource
答案 2 :(得分:1)
有一个polyfill - https://github.com/Yaffle/EventSource(IE8 +) 和聊天的例子 - https://github.com/Yaffle/EventSource/blob/master/tests/server.js