我正在开发一个网络应用程序,用户可以通过从智能手机到桌面的多个平台访问这些应用程序,有时需要在两个客户端之间进行通信,例如,如果我希望我的朋友加入我的网络,我可以访问我的网络。向他发送朋友请求,但我希望我的朋友能够看到该请求,而无需刷新页面。
在这种情况下哪个是更好的选择? 此外,我希望这个可以在尽可能多的平台和浏览器上工作,这些平台和浏览器有更多的浏览器支持? 有更好的选择吗?
答案 0 :(得分:18)
做出这个选择时要记住的一些事情。
另一种选择可能是通知。所有移动设备现在都支持可以定位到应用程序的通知,并且还有许多浏览器。在所有情况下,客户端与消息中心(Apple,Google,Microsoft等)之间已存在连接,并且所有通知都通过此渠道发送。
以下是WebSockets与SSE的良好概述: http://www.html5rocks.com/en/tutorials/eventsource/basics/
答案 1 :(得分:1)
服务器发送事件:仅用于发送文本消息的持久连接服务器2-客户端,并且在所有主要浏览器中实现,但是Internet Explorer。如果连接丢失,它可以重新连接。 http://caniuse.com/eventsource
WebSokets:能够传输UTF8文本和二进制数据的全双工持久连接。 http://caniuse.com/websockets
WebSocket更好,未来。
答案 2 :(得分:0)
据我所知,SSE更简单,更容易实现,而WebSockets提供双向数据传输,但是您需要了解自己的协议/ API以利用它们。老实说,我从未真正对SSE感到困扰,Socket.IO我所需要的只是实时网络应用程序通信,并且构建为跨浏览器。
如果您只是希望他能够看到通知,那么SSE应该没问题。如果您希望他能够从同一页面回复您的朋友请求,请让服务器向您发送他已接受的通知,您可能希望使用WebSockets实现。