如何从不支持 HTML5 的旧浏览器绑定到 Web 套接字服务器
Posted
技术标签:
【中文标题】如何从不支持 HTML5 的旧浏览器绑定到 Web 套接字服务器【英文标题】:How to bind to web sockets server from old browser that does not support HTML5 【发布时间】:2014-03-11 12:54:25 【问题描述】:我正在构建一个 WEB 应用程序,它等待来自我的管理 Web 应用程序服务器的消息。
我通过使用 html5 websocket 编程解决了这个问题;
但并不是我所有的客户的浏览器都支持 html5。所以我正在寻找一种从旧浏览器绑定到 websocket 服务器的方法,即使在 javascript 的低级编程(低于 websocket)中也是如此。
这样可以吗?
【问题讨论】:
【参考方案1】:对于没有WebSocket,但Flash的旧浏览器,有this fallback WebSocket implementation in Flash。
对于旧版 IE,有 Google Chrome Frame。
两者都应该与 Ratchet 一起使用(因为它们使旧浏览器实际上使用 WebSocket)。
【讨论】:
【参考方案2】:Socket.io 支持大多数浏览器,但不幸的是不是全部。
【讨论】:
正如我所见,socket.io 与 node.js 服务器端集成,但我的 websocket 服务器是在 php 中实现的,完全是 ratchet。可以和php一起使用吗 我不知道棘轮,但你可以在服务器端使用这个elephant.io/#usage socket.io 处理旧浏览器中的 websocket,因此它为旧浏览器找到了替代使用 websocket 的方法。如我所见,使用棘轮,它只允许您使用 websockets,而不是其他方式,所以我认为 socket.io 不能与棘轮通信 Socket.io 没有为旧浏览器实现 WebSocket,而是基于 HTTP 长轮询的回退。以上是关于如何从不支持 HTML5 的旧浏览器绑定到 Web 套接字服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Web 浏览器中以图形方式显示商场中可用的商店或如何从 Flash 切换到 HTML5 和 SVG