HarmonyOS 鸿蒙Next 使用TLSSocket 注册事件,怎么没有响应?
HarmonyOS 鸿蒙Next 使用TLSSocket 注册事件,怎么没有响应?
代码如下,我建联成功了,并且也成功给服务端发送了消息。但是注册的几个事件,一个事件的回调都没有调用,请问是否有问题?
let tls = socket.constructTLSSocketInstance();
tls.on('message', async (value: SocketInfo) => {
LogUtils.i(">>>收到消息!on message", LOG_TAG);
});
tls.on('connect', async () => {
LogUtils.i(">>> 监听connect事件 收到响应 connect", LOG_TAG);
});
tls.on('close', () => {
LogUtils.i(">>> 监听close事件 收到响应 close", LOG_TAG);
});
tls.on('error', () => {
LogUtils.i(">>> 监听error事件 收到响应 error", LOG_TAG);
});
tls.connect(tlsOneWayConnectOptions).then(async () => {
LogUtils.i(">>>第二步,连接成功 connect succeed !", LOG_TAG);
let auth = this.getPacket();
this.sendMessage(tls, auth)
}).catch((e: Error) => {
})
更多关于HarmonyOS 鸿蒙Next 使用TLSSocket 注册事件,怎么没有响应?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
代码是否不全?从这些代码看,应该是没有连接并发送成功。
一般来说,需要下面的步骤:
- 建立tls套接字
- 绑定本地地址
- 设置ca证书
- 连接服务端
- 发送消息
服务器给回复后,你才可以通过on(“message”)回调拿到服务器回复。
更多关于HarmonyOS 鸿蒙Next 使用TLSSocket 注册事件,怎么没有响应?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
启动,开始连接-------》 connectTls2
收到消息!on message
收到消息!data:
监听connect事件 收到响应 connect
监听close事件 收到响应 close
监听error事件 收到响应 error
第一步,绑定本地端口 bind -------》 {“address”:“0.0.0.0”,“port”:9990}
本地端口绑定成功 bind success
第二步,发起连接 connect -------》 {“address”:“0.0.0.0”,“port”:9990}
第二步,连接成功 connect succeed !
异步获取远程地址
异步获取远程地址 成功{“address”:"",“family”:“IPv4”,“port”:0}
异步获取协议类型
异步获取协议类型 成功 data:
获取当前链接状态 2
获取当前链接状态 2 成功:{“authorized”:false,“authorizationError”:null,“encrypted”:false,“local”:{“address”:“0.0.0.0”,“family”:“IPv4”,“port”:9990},“peer”:{“address”:"",“family”:“IPv4”,“port”:0},“servername”:"",“version”:""}
发送消息
等待2秒
发送消息
第三步,延迟30s后,关闭连接 取消事件订阅
第三步,30s时间到,执行关闭连接 取消事件订阅
第三步,关闭连接成功
第三步,取消事件订阅完毕
大佬,这个是我全部代码。测试代码,放在一个方法里,外面调用的。和这个关系应该不大吧,
针对“HarmonyOS 鸿蒙Next 使用TLSSocket 注册事件,怎么没有响应?”的问题,以下是一些可能的原因及检查方向:
-
事件注册是否正确:
- 确认在创建TLSSocket后,事件注册的方法是否正确调用,并且事件类型(如连接、数据接收等)是否匹配预期。
-
事件处理逻辑:
- 检查事件处理函数是否存在逻辑错误,例如死循环、异常抛出未捕获等,这些都可能导致事件处理无响应。
-
网络状态:
- 确认设备的网络连接状态,确保TLSSocket能够成功建立连接。
-
证书验证:
- 对于TLSSocket,证书验证是一个重要环节。检查服务器证书是否有效,以及客户端是否配置了正确的信任根证书。
-
资源占用:
- 检查系统资源(如CPU、内存)是否充足,资源不足也可能导致事件处理无响应。
-
系统日志:
- 查看系统日志,是否有关于TLSSocket或网络相关的错误信息,这些信息可以提供进一步的线索。
如果上述检查后问题依旧存在,可能是系统或框架层面的bug。此时,建议直接联系鸿蒙系统的官方技术支持团队进行深入分析。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html 。