文档章节

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

chape
 chape
发布于 2014/03/01 14:53
字数 340
阅读 11209
收藏 4

为了实现移动客户端实时通信,拟采用安卓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

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

© 著作权归作者所有

上一篇: 理解java.nio.buffer
下一篇: Android WebView
chape
粉丝 158
博文 339
码字总数 191349
作品 0
成都
程序员
私信 提问
加载中

评论(2)

Will_awokE
Will_awokE
socket-io + node.js
__loong
__loong
赞一个~谢谢解决问题
为Phonegap Android平台增加websocket支持,使默认成为socket.io首选通

为Phonegap Android平台增加websocket支持,使默认成为socket.io首选通道选择 广而告之 使用socket.io作为跨浏览器平台的实时推送首选,经测试在各个主流浏览器上测试都确实具有良好的下实时...

james_laughing
2014/12/17
0
2
Ubuntu 下 Janus Server 搭建

--Ubuntu 下 Janus Server 搭建笔记 一 、简介 Janus是一个开源的,通过 C 语言实现了对 WebRTC 支持的 Gateway;Janus 自身实现得很简单,提供插件机制来支持不同的业务逻辑,配合官方自带...

RobertZhou
2018/09/19
0
0
Shou.TV 背后基于 Node.js 和 WebSocket 的技术架构

我们使用一个定制的基于WebSocket的协议SLSP来实现广播和直播。所有组件均由Nginx代理,部署于Ubuntu server上。组件间通过HTTP和JSON通讯。 技术 在Shou.TV,我们有如下几条“军规”。我们尽...

oschina
2014/08/15
9.4K
8
springboot整合websocket(1)

一、背景   我们都知道http协议只能浏览器单方面向服务器发起请求获得响应,服务器不能主动向浏览器推送消息。想要实现浏览器的主动推送有两种主流实现方式: 轮询:缺点很多,但是实现简单...

烦嚣的人
2018/08/01
0
0
Web端即时通讯技术盘点:短轮询、Comet、Websocket、SSE

1. 前言 Web端即时通讯技术因受限于浏览器的设计限制,一直以来实现起来并不容易,主流的Web端即时通讯方案大致有4种:传统Ajax短轮询、Comet技术、WebSocket技术、SSE(Server-sent Events)...

JackJiang-
2016/07/14
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

分布式架构 实现分布式锁的常见方式

一、我们为什么需要分布式锁? 在单机时代,虽然不需要分布式锁,但也面临过类似的问题,只不过在单机的情况下,如果有多个线程要同时访问某个共享资源的时候,我们可以采用线程间加锁的机制...

太猪-YJ
39分钟前
3
0
GitLab Docker 安装记录

安装环境 环境Centos7.4 64 1.拉取镜像文件 docker pull gitlab/gitlab-ce:latest 2.docker 安装 git.zddts.com 为访问域名或换成可以访问的IP docker run -d --hostname git.***.com -p ......

侠者圣
今天
0
0
部署kubernates dashboard

参考官方文档: https://github.com/kubernetes/dashboard 直接部署官方默认的dashboard: kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/r......

猫海豚
今天
0
0
Docker中Redis的安装

一、下载镜像 docker pull redis 二、创建外挂目录及配置 mkdir /opt/docker/redismkdir /opt/docker/redis/confmkdir /opt/docker/redis/data 三、安装 docker run -d --name compose_r......

闊苡訆涐囍醣
今天
0
0
JNI内存泄露处理方法汇总

在c++中new的对象,如果不返回java,必须用release掉,否则内存泄露。包括NewStringUTF,NewObject。如果返回java不必release,java会自己回收。   jstring jstr = env->NewStringUTF((*p)....

shzwork
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部