Node.js Web应用程序浏览器的兼容性

我听说node.js是构build实时Web应用程序(聊天,活动提要等等)的理想框架,那么我想它涉及很多nodejs和客户端浏览器之间的socket io连接。

在客户端,我是否必须使用websocket(html5)才能与node.js进行通信,如果是这种情况,那么大多数较旧的浏览器将不支持HTML5-Websocket。

问题: 使用node.js构build的实时Web应用程序仅适用于兼容HTML5的浏览器。

许多nodejs聊天应用程序使用socket.io 。

对于没有websocket的浏览器,socket.io有一个后备(涉及拉或闪):

Socket.IO旨在使每个浏览器和移动设备上的实时应用程序成为可能,模糊了不同传输机制之间的差异。 它是免费的实时100%的JavaScript。

使用socket.io的意义在于,你并不在乎,只是使用它而且大多数浏览器都会使用websocket,而有些则不会(但是他们仍然会尽可能地工作)。

我听说node.js是构build实时Web应用程序(聊天,live> feed等)的理想框架,那么我想它涉及到nodejs和client> browser之间的很多socket io连接。

是的,你听到的是正确的。 它涉及客户端浏览器和服务器之间的socket.io连接

在这里阅读更多关于socket.io

在客户端,我是否必须使用websocket(html5)才能与node.js进行通信,如果情况如此,那么大多数旧浏览器将不支持HTML5-Websocket。

如果客户端正在使用支持HTML5的浏览器,则NodeJS的socket.io包将在内部创build一个WebSocket连接。 在其他浏览器中,它将优雅地回退到不同的传输机制。

问题:使用node.js构build的实时Web应用程序仅适用于兼容HTML5的浏览器。

上面的注释必须已经明确,它将在所有支持的浏览器上工作,如果你使用socket.io 🙂 请参阅浏览器对socket.io的支持