android内置浏览器不支持websocket的解决方法

时间:2023-01-25 19:25:37

为了实现移动客户端实时通信,拟采用安卓webview内嵌html实现方式开发app,通信则采用最新的html5新特性websocket实现。经测试,android4.0以下内置浏览器都不支持websocket特性。经过google后,发现以下方案可以解决:

  1. 使用web-socket-js(采用flash实现websocket的替代方案)

  2. 既然内置浏览器不支持websocket,是不是可以采用支持websocket的浏览器来实现呢?github上面就有一个chromium_webview,仔细看了一下,发现github上面只是说比原生webview多一些新特性,但是并未提及websocket,而且github的repository是安卓4.2的

  3. 既然已经在android系统环境下,那么何不在webview下使用javascript调用java,通过java api直接创建socket与服务器相连,或者用java模拟websocket?实例源码下载(经测试,访问协议地址【ws://echo.websocket.org/】可以,但是访问tomcat7.0.50根本没有触发onopen事件,也就是说没有建立连接。websocket.java里面的构造方法使用的draft75,不知道tomcat使用的是websocket哪个草案啊,RCF?但是应该传什么参数呢?直接RCF?)

  4. 其他人的工作  1  2

后面就一个一个办法试一试了,感谢他们的工作!

长按图片识别图中二维码(或搜索微信公众号FrontEndStory)关注“前端那些事儿”,带你了解最新的前端技术。

android内置浏览器不支持websocket的解决方法