EventSource vs WebSocket

Author Avatar ZTFtrue 发表于 • 2018年02月05日 13:46 • 共 • 488 • 次浏览

来自于 stackoverflow

WebSockets和SSE(服务器发送事件)都能够将数据推送到浏览器,但他们不是相互竞争的技术。

WebSockets的连接,既可以将数据发送到浏览器,也可以从浏览器接收数据。聊天应用程序大概是WebSockets一个很好的应用例子。

SSE连接 只能将数据推送到浏览器 。在线股票行情,或twitters updating timeline or feed是SSE中一个很的好例子。

在实践中,因为可以用SSE来所做的一切,也使用WebSockets来完成,WebSockets的越来越多了很多的关注和喜爱,支持WebSockets的浏览器超过SSE。

此外SSE可以polyfilled到不支持它本身只使用JavaScript的旧版本浏览器。SSE polyfills的一些实施方案可在上找到Modernizr的页面GitHub的。

TLDR摘要:

  • 在上证所的WebSockets的优点:

    • 运送过来简单的HTTP而不是自定义协议
    • 可聚满了用JavaScript来“反向移植”上证所不支持它尚未浏览器。
    • 内置支持重新连接和事件ID
    • 更简单的协议
  • 以上的WebSockets SSE的优点:

    • 实时,两个方向的通信。
    • 在更多的浏览器的原生支持

SSE坑:

  • 没有二进制支持
  • 最大打开连接数限制

区别

  • WebSocket是基于TCP的全双工通讯的协议
  • EventSource后者依然基于HTTP
最后编辑于 • 2018年02月05日 13:53 •  

你尚未登录,无法进行回复。