用于类似Stackoverflow的即时通知的SSE或WebSockets

时间:2014-01-09 10:43:51

标签: javascript websocket socket.io server-sent-events

如果我想立即发送用户通知,最好使用哪种技术, 像StackOverflow有吗?

我考虑SSE和WebSockets。每种解决方案的优缺点是什么?

我应该使用socket.io还是更好直接使用WebSockets?

2 个答案:

答案 0 :(得分:1)

主要区别在于使用SSE,您只能从服务器接收消息。您无法向服务器发送消息。使用SSS可以实现的一切都可以通过WebSockets实现。但反之亦然 - WebSocket 能够将数据发送到服务器。所以从这个角度看WebSockets就赢了。我不能真正看到SSE的任何优势(也许表现?),但是我再也没有太多的经验。

请注意,StackOverflow使用WebSockets。他们可能会对旧浏览器有一些后退,我不知道。

至于第三个问题:或许您应该首先询问您想要使用哪种语言?我一直在使用WebSockets和Python,它工作得非常好。您可以直接使用WebSockets。使用socket.io的优点主要是后备(假设它很重要 - 它不是恕我直言):如果WebSockets不可用,它可以自动切换到其他通信方式(如Flash或长轮询)。缺点是它是Node.js(在某种意义上你必须限制自己使用一种语言)加上有一些性能问题,即socket.io不能很好地扩展到一台机器之外。

答案 1 :(得分:0)

您可以考虑使用像SocketIO这样的库来抽象传输层,因此您不必担心如何维护实时连接的机制。这将为您节省 TON 的麻烦。