HarmonyOS鸿蒙实战( Beta5版)Socket进行通信数据传输实践

场景描述

Socket进行数据传输的能力,支持TLSSocket能力。

场景一 :用户场景需要实现网上银行叫号及其他需要建立即时通信传输数据时,可通过TCP/TLSSocket方式加密传输数据。

场景二 :数据发送过程中 当发送方每次写入数据 < 套接字(Socket)缓冲区大小;接收方读取套接字(Socket)缓冲区数据不够及时,可能存在粘包/黏包情况,需要做对应的接收处理。

方案描述

场景一

用户场景需要实现网上银行叫号及其他需要建立即时通信传输数据时,可通过tcp/tlsSocket方式加密传输数据。

方案

调用网络模块socket中TLSSocket能力建立通信连接,有关能力可参考文档:@ohos.socket.TLSSocket

主要步骤可参考如下:

  1. 引入socket能力,创建一个TLSSocket连接。
  2. connect连接绑定服务器 IP 和端口号,bind绑定本地网络ip地址。
  3. 双向认证上传客户端 CA 证书及数字证书;单向认证上传客户端 CA 证书。
  4. 订阅TLSSocket相关消息事件。
  5. 发送数据。
  6. TLSSocket连接使用完毕后,主动关闭。

核心代码GitCode - 全球开发者的开源社区,开源代码托管平台

//获取本机ip地址信息
function getLocalIp(): string {
  const ipInfo = wifiManager.getIpInfo()
  console.log(tag + 'ipInfo : ' + JSON.stringify(ipInfo));
  const localIp = int2ip(ipInfo.ipAddress)
  console.log(tag + 'localHost : ' + localIp);
  return localIp;
}
//从wifi获取地址格式转换
function int2ip(n: number): string {
  return `${(n & 0xFF000000) >>> 24}.${(n & 0x00FF0000) >>> 16}.${(n & 0x0000FF00) >>> 8}.${(n & 0xFF)}`
}

cl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值