旧版浏览器的Node.js / Socket.io中的Web Socket支持

时间:2013-11-11 10:08:16

标签: javascript node.js websocket socket.io

我使用c ++创建了一个Web Socket服务器。我们知道HTML 5支持Web Socket,我们有标准的Web Socket Java Script Api与Web套接字服务器通信。我可以使用Web Socket连接到Web Socket服务器API。 由于仅在新浏览器中支持Web Socket Api。

 IE          version 10    
 Chrome      version 16   
 Firefox     version 6   
 Safari      version 6.0   
 Opera       version 12.10

我还需要提供support以跟踪浏览器版本 Web Socket Api支持的浏览器

 IE          version 7
 Chrome      version 14
 Firefox     version 4   
 Safari      version 5.1 

我听说过node.js和socket.io。

支持两者

Web Socket Api不支持浏览器
    Internet Explorer 5.5+     Safari 3+     谷歌Chrome 4+     Firefox 3+     Opera 10.61 +

我想编写java脚本客户端以使用Node.js / Socket.io连接到Web Sokcet服务器

Node.js / Socket.io允许我在旧浏览器中连接吗?

1 个答案:

答案 0 :(得分:14)

您可以使用Socket.io支持这些浏览器,是的,但不是专门针对Web套接字(因为许多浏览器版本没有Web套接字)。

截至2013年11月,Socket.io支持的浏览器列表为:

桌面:

  • Internet Explorer 5.5 +
  • Safari 3 +
  • Google Chrome 4 +
  • Firefox 3 +
  • Opera 10.61 +

移动:

  • iPhone Safari
  • iPad Safari
  • Android WebKit
  • WebOs WebKit

他们通过使用各种传输来实现这种级别的支持,具体取决于浏览器的功能(同样,从2013年11月开始):

  • 的WebSocket
  • Adobe®Flash®Socket
  • AJAX长轮询
  • AJAX multipart streaming
  • 永远的iframe
  • JSONP民意调查

从那时起,Socket.io has been split up进入(至少)Socket.io和Engine.io,后者提供传输。它似乎是Engine.io的传输列表has dramatically reduced

  • polling:XHR / JSONP投票传输
  • websocket:WebSocket传输

似乎还有一种方法可以使用Flash套接字。

据推测,这反映了websockets are almost universally supported in modern browsers

这一事实