旧版浏览器的Node.js / Socket.io中支持Web Socket
我已经使用c ++创build了一个Web Socket服务器,因为我们知道HTML 5支持Web Socket,并且我们有标准的Web Socket Java Script Api来与web套接字server.I能够使用Web Socket API连接到web Socket服务器。 由于只有新浏览器支持Web Socket Api。
IE version 10 Chrome version 16 Firefox version 6 Safari version 6.0 Opera version 12.10
我还需要提供对以下浏览器版本的支持 。
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+ Google Chrome 4+ Firefox 3+ Opera 10.61+
我想编写Java脚本客户端,使用Node.js / Socket.io连接到Web Sokcet服务器
Node.js / Socket.io允许我在旧的浏览器中连接吗?
你可以用Socket.io来支持这些浏览器,是的,但不是专门用于networking套接字(因为许多浏览器版本没有networking套接字)。
截至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®套接字
- AJAX长轮询
- AJAX多部分stream
- 永远Iframe
- JSONP轮询
从那以后,Socket.io 被分成 (至less)Socket.io和Engine.io,后者提供了传输。 而且似乎Engine.io的传输列表大幅减less :
-
polling
:XHR / JSONP投票传输 -
websocket
:WebSocket传输
似乎表明还有一种做闪存套接字的方法。
这大概反映了一个事实: websockets在现代浏览器中几乎得到普遍支持 。