Node.js/Socket.io 中的 Web 套接字支持,适用于旧版浏览器

Web Socket support in Node.js/Socket.io for older browser

本文关键字:支持 适用于 浏览器 套接字 Web js Socket io 中的 Node      更新时间:2023-09-26

我用c++创建了一个Web Socket服务器。众所周知,HTML 5支持Web Socket,并且我们有标准的Web Socket Java Script Api与Web套接字服务器进行通信。我能够使用Web Socket Api连接到Web Socket服务器。由于只有新浏览器才支持 Web 套接字 API。

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

我还需要为以下浏览器版本提供支持。
网页套接字 API 支持的浏览器

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

我听说过node.js和 socket.io.两者都受支持

不支持 Web 套接字 API 的浏览器
IE浏览器 5.5+ 野生动物园 3+ 谷歌浏览器 4+ 火狐 3+ 歌剧 10.61+

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

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

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

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

桌面:

  • IE浏览器 5.5+
  • 野生动物园 3+
  • 谷歌浏览器 4+
  • 火狐 3+
  • 歌剧 10.61+

移动:

  • 苹果手机野生动物园
  • iPad Safari
  • 安卓网络套件
  • 网络
  • 操作系统网络套件

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

  • 网络套接字
  • Adobe® Flash® Socket
  • AJAX 长轮询
  • AJAX 多部分流式处理
  • 永远的 Iframe
  • JSONP 轮询

从那时起,Socket.io 被分成(至少)Socket.io 和 Engine.io 后者提供运输。似乎Engine.io的传输列表已经大大减少:

  • polling : XHR/JSONP 轮询传输
  • websocket:WebSocket传输

这似乎表明仍然有一种方法可以做闪存套接字。

据推测,这反映了一个事实,即现代浏览器中几乎普遍支持Websocket。