Home  >  Q&A  >  body text

html5 - WebSockets VS Server-Sent Events 各有利弊

WebSockets和Server-Sent Events两者都可以对浏览器推送数据。据我而知,两者好似是相互竞争的技术。我如何区分两者之间的不同之处?开发中,你会选择使用哪一种?

原问题:WebSockets vs. Server-Sent events/EventSource

阿神阿神2721 days ago538

reply all(1)I'll reply

  • PHP中文网

    PHP中文网2017-04-17 11:08:10

    最佳答案
    Alex Recarey:
    Websockets和SSE(Server Sent Events)都可以对浏览器传输数据,但两种技术并非是竞争关系。
    Websocket既可以给浏览器发送数据,还可以从浏览器端接收数据,比如利用Websockets开发的聊天应用就是一个具有代表性的实例。
    而SSE只能上传数据到浏览器,比如在线股票行情、twitter feed updating,这些产品的功能就是如此。
    在实践中,Websockets更受关注和喜爱,浏览器支持方面也略比SSE占据优势。
    但SSE协议可以更轻松的实现后台操作,还可以在不支持它本身的老版浏览器上使用JavaScript,一些实现实例可以在Modernizr Github页面上查询到。HTML5Rocks曾针对两者做过对比,截取文章片段:

    总结
    SSE超过Websockets的优点:
    运行HTTP协议,而不是自定义协议
    能够poly-filled JavaScript反相移植不兼容SSE的浏览器
    内置支持重新连接和事件识别符
    相当简单的协议
    Websockets超过SSE的优点:
    实时传输,双方向通信
    浏览器支持率较高

    reply
    0
  • Cancelreply