您的位置:首页 > 理论基础 > 计算机网络

Android socket通信: 一问一答,一问多答客户端网络请求工具类的实现

2017-06-19 13:27 375 查看
传统的web服务器是采用http 字符流进行一问一答数据交互传,然后关闭socket,对于推送消息,也是另外开启了一个长连接socket进行实时接收。
对于做智能家居物联网行业的软件开发人员来说,socket长连接是最常用的通信方式
由于智能家居产品单片机性能有限,因此在与单片机进行大量数据通信时,无法做到传统的一问一答方式进行一次性将数据传送,有时候必须采用一问多答方式进行数据交互。
单片机不能短时间内接收多条消息处理指令,因此客户端需要控制发送指令的间隔时间。

我这里采用MINA作为长连接通信框架,可以支持socket以及串口通信。实现一问一答,一问多答,需要了解多线程相关知识,具体实现如下:



RequestTool:数据请求工具线程

SessionClientUtil.write(sendData);数据写入工具类

MyIoDataHandler:Mina自定义数据接收处理类

BaseDataPackage: 发送的数据包

RequestTool核心代码实现如下:RequestTool.startRequest()

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: