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

本文介绍了在智能家居物联网行业中使用长连接socket进行通信的技术细节,包括如何解决单片机性能限制下的一问多答交互问题,并提供了一种基于MINA框架的具体实现方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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



RequestTool:数据请求工具线程

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

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

BaseDataPackage: 发送的数据包

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值