使用Native Sockets在Android中实现WebSockets
Implement WebSockets in Android using Native Sockets
我的Android应用程序的webkit容器中有一个javascript代码。此代码使用WebSockets与服务器进行通信。同样的JS代码适用于iOS等其他平台,但在Android 2.3中则不然。我在某个地方读到安卓系统中的webkit不支持WebSockets,并且只有在Jelly Bean之后才会提供支持。
鉴于此,我需要从本机层(在Java中)提供一个使用普通套接字的包装器。根据我对套接字的了解,支持常用的API(如open()、send()、receive()等)似乎很简单。
我还需要知道WebSocket协议需要什么吗?我需要从包装器代码中提供这些吗?毕竟,服务器与客户端(我的android应用程序)的对话就好像它是一个WebSocket,而不是一个本地套接字。
需要考虑的一些注意事项:a)我不能使用任何第三方库——它必须在内部开发。b) 不会传输任何二进制数据;只有文本。
谢谢,
Rajath
Websocket不是原始套接字,它们需要初始握手,然后是简单的每条消息帧。有关详细信息,请参阅协议规范。关于握手和数据帧的部分将是最相关的。
我知道你说过你不能使用第三方库,但要注意像JavaWebsocket这样的项目可能对你很感兴趣。它获得了自由许可,因此适合包含在任何封闭源代码应用程序中。或者,在调试自己的代码时,您可能会发现它作为参考很有用。
相关文章:
- 如何使用动画实现纸张推车
- 客户端服务器REST API captcha实现
- 如何实现此布局
- Meteor忘记了密码的实现
- 使用Native Sockets在Android中实现WebSockets
- 在样板文件中实现Ajax
- instanceof是如何在JavaScript中实现的
- 如何正确实现Jquery多选小部件
- 实现一个建立在google.com之上的自定义搜索引擎
- 多个组件是如何实现的
- window.location使用jquery mobile实现chrome跳转
- 如何在OpenERP中实现网络摄像头
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- javascript加密实现,包括可信否认
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- 如何让程序员在javascript中实现正确的回调
- Websockets是如何实现的
- 如何在ios应用中通过websockets实现和通信
- 使用WebSockets实现webbrtc信令
- 在WebSockets中实现permessage-deflate