基于TLSSocket的通信能力
基于TLSSocket的通信能力
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
基于原生能力的组件封装
1033浏览 • 1回复 待解决
基于原生的水印添加能力
1328浏览 • 1回复 待解决
基于@ohos/axios的网络请求能力
1074浏览 • 1回复 待解决
基于原生能力的网络状态感知
1118浏览 • 1回复 待解决
基于原生能力的跨应用跳转
1359浏览 • 1回复 待解决
基于libuv异步库进行线程通信
2314浏览 • 0回复 待解决
基于原生能力的网络加载性能分析
1546浏览 • 1回复 待解决
基于ArkUI实现类似.9图的拉伸能力
1180浏览 • 1回复 待解决
基于原生能力的设备唯一ID方案
1313浏览 • 1回复 待解决
基于原生能力实现图文混排
1175浏览 • 1回复 待解决
HarmonyOS事件通信能力解决方案
1600浏览 • 1回复 待解决
HarmonyOS 使用socket.TLSSocket进行SSL加密通信时 socket.TLSConnectOptions>secureOptions>ca 如何配置
491浏览 • 1回复 待解决
基于ArkUI现有能力实现自定义弹窗封装方案
1653浏览 • 1回复 待解决
HarmonyOS TLSSocket 单向认证,ca证书错误
564浏览 • 1回复 待解决
HarmonyOS TLSSocket发送消息报错
387浏览 • 1回复 待解决
HarmonyOS tlssocket websocket实现双向认证长连接
618浏览 • 1回复 待解决
HarmonyOS TLSSocket为什么强制需要bind
521浏览 • 1回复 待解决
HarmonyOS TLSSocket发送字节数组异常data is not string
307浏览 • 1回复 待解决
针对IPv6地址的TLSSocket bind操作无响应
815浏览 • 1回复 待解决
WebView之通信,什么是WebView,为什么要通信,如何实现通信?
2360浏览 • 1回复 待解决
HarmonyOS TLSSocket的二进制转成字符串的转换方法
597浏览 • 1回复 待解决
基于webView的嵌套滚动
740浏览 • 1回复 待解决
HarmonyOS socket.TLSSocket单向认证出现2303501异常
430浏览 • 1回复 待解决
HarmonyOS socket.TLSSocket发送Uint8Array对象
351浏览 • 1回复 待解决
HarmonyOS TLSSocket建连ca入参必传问题
377浏览 • 1回复 待解决
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连接使用完毕后,主动关闭。
核心代码
场景二
数据发送过程中 当发送方每次写入数据 < 套接字(Socket)缓冲区大小;接收方读取套接字(Socket)缓冲区数据不够及时,可能存在粘包/黏包情况,需要做对应的接收处理。
方案
1. 发送方和接收方规定固定大小的缓冲区,也就是发送和接收都使用固定大小的byte[]数组长度,当字符长度不够时使用空字符弥补。
2. 以特殊的字符结尾,比如以“\n”结尾,这样我们就知道结束字符,从而避免了粘包问题。
核心代码
可根据当前服务端/客户端收发数据的实际情况,调用socket中提供setextraoptions能力设置较合适发送/接收数据的缓存区间大小做处理。
2. 客户端发送数据时携带特殊符号做区分处理。
常见问题
Q:socket调用返回2301115原因及解决方式。
A : 可能是连接参数中超时时间设置短导致,可将timeout参数设置为15s,如不设置默认超时时间为5s。
Q:socket连接时on('error')错误码返回为-1原因。
A:TCP Socket返回-1错误码通常表示连接失败或发送数据失败。
这个错误码可能由:1、当前通信连接被拒绝;2、网络连接失败 3、连接或发送数据时超时导致。
Q:socket中ping命令方式实现情况。
A:为防止泛洪破坏,网络模块暂不直接提供ping能力接口,参考三方库中能力封装处理:https://github.com/dgibson/iputils/blob/master/ping.c。