是否有可以在浏览器中使用的 WebSocket 库(类似于 jQuery 的 AJAX),并且可以回退到 AJAX 长轮询?
是否有可以在浏览器中使用的 WebSocket 库(类似于 jQuery 的 AJAX),并且可以回退到 AJAX 长轮询?
我发现 Socket.IO 在 WebSocket 协议之上实现了一个奇怪的、武断的层。我更愿意直接传递原始数据,所以在我的项目中,我选择了 web-socket-js。
web-socket-js 的工作方式类似于 Socket.IO,如果不支持 WebSocket,则会回退到使用 Flash socket。因此,它可以在所有主要支持 Flash 的浏览器中运行(我亲自测试过)。
只需确保在防火墙中打开端口 843,否则您将收到 Flash 安全策略错误。您可能还需要一个脚本来监听端口 843... 我使用了 em-websocket 作为 socket 服务器,并且在其 readme 中,我相信有一个链接到提供此功能的 Perl 脚本。
带有WebSockets支持和备用长轮询解决方案的库可能不仅取决于浏览器客户端,还取决于服务器端技术。例如,可以尝试查看socket.io。
是的,你也需要服务器支持。Kaazing WebSocket Gateway支持非常快速的仿真/ Polyfill。如果你有像Flash这样的插件,它可能会使用它(机会优化),但如果你没有它,它将使用加密流来模拟WebSocket,这比长轮询更有效率。它还带有SSE和跨文档消息支持和仿真,以及许多更高级的协议抽象(JMS / Stomp,XMPP等)。