我想在浏览器中运行websocket以连接到服务器,或者在ws不可用时使用flash(就像websocket.js所做的那样) 但似乎在Android浏览器(而不是chrome)中有一个本机WebSocket函数,该函数具有成员函数,如close,send等但它不起作用。在尝试使用本机ws连接到服务器时,我无法捕获路由器上的任何ws包。 所以,
为什么假ws功能存在.........
我将尝试检查此对象的binaryType,当binaryType未定义或“”我认为它不是一个好的ws(包括ws ver 7-8,服务器仅支持ws ver 13)。这确切吗?或者更好吗? UserAgent可能不是一个好主意,因为Android上有很多自定义浏览器(例如firefox,dolphin,...),并且在UA中没有一个好的关键词来检查
何时或哪个版本的android浏览器的假ws功能会消失或变为真实?虽然谷歌推荐使用Chrome,但是有些手机似乎在运行默认浏览器,并带有像地球一样的Chrome图标。
非常感谢!
答案 0 :(得分:1)
Google似乎开始在Android浏览器中实现WebSocket,但只能使用API。
无论供应商如何,所有较新版本的Android浏览器都存在虚假API。这仅适用于Android 4.4,Android浏览器已被Chrome取代。
我建议不要通过用户代理等来检测,而是通过假WS对象的行为进行检测。
E.g。当打开一个试用WebSocket连接时,' readystate'在Android浏览器上,WebSocket对象始终保持在' 0',而在工作实现中它会发生变化。
答案 1 :(得分:0)