HarmonyOS socket链接后,断开网络,收到错误码103,message为空

this.tcpSocket.on('error', (data: BusinessError) => {
  this.tztLog("tcp_onError error:%s", JSON.stringify(data));
  this.closeSocket();
});

问题1:socket链接后,断开网络,收到错误码103,message为空,103的意思是什么?

问题2:socket从远程断开和从本地手动断开有没有区分?

HarmonyOS
2024-12-25 16:56:54
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

问题一:错误码103表示“Network unreachable”,即网络不可达。在Socket连接断开网络后,收到此错误码意味着网络连接无法建立或网络出现了问题。

问题二:

1.从远程断开:当远程端主动关闭Socket连接时,本地端会收到网络断开的通知,并且Socket连接会被关闭。此时,不会调用任何回调函数,并且不会显式地调用close方法。

2.从本地手动断开:当本地端主动关闭Socket连接时,可以通过调用close方法来断开连接。可以选择使用Promise或回调函数来处理断开过程的异步操作。

区别如下:

通知方式:从远程断开时,没有明确的通知方法;从本地手动断开时,可以通过close方法明确调用。

异步处理:从远程断开时,无需显式处理;从本地手动断开时,需要处理异步操作的结果。

错误码104的含义

错误码104表示“连接失败”。这通常意味着在建立TCP连接时,发生了与远程主机的通信错误。具体原因可能包括:

  • 远程主机未响应或无法响应连接请求。
  • 网络连接被拒绝。
  • 防火墙阻止了连接尝试。
  • 其他网络相关的错误。

详细解释

在TCP/IP协议中,TCP连接的建立是一个复杂的过程,涉及多个步骤和握手。当连接失败时,操作系统会返回相应的错误码来指示失败的原因。错误码104表示在TCP连接的建立过程中,发生了与远程主机的通信错误。

这种错误通常意味着操作系统尝试与目标主机建立连接时,遇到了无法克服的网络障碍。例如,目标主机可能不可达、网络连接被拒绝、防火墙阻止了连接尝试等。

分享
微博
QQ
微信
回复
2024-12-25 18:58:15
相关问题
Socket连接报错,错误码88
2020浏览 • 1回复 待解决
HarmonyOS 错误码7400201
342浏览 • 1回复 待解决
TCPSocket on('close')错误码
746浏览 • 1回复 待解决
HarmonyOS 关于2300006错误码
395浏览 • 1回复 待解决
错误码62980096怎么处理
1233浏览 • 1回复 待解决
network bindSocket错误码问题
587浏览 • 1回复 待解决
HarmonyOS 发布API错误码203489281
75浏览 • 1回复 待解决
HarmonyOS 错误码:1001502003 无效参数
68浏览 • 1回复 待解决
HarmonyOS TCPSocket返回错误码2301004
362浏览 • 1回复 待解决
webview错误码105 是什么错误
1102浏览 • 1回复 待解决
eglSwapBuffers常见错误码分析
1045浏览 • 1回复 待解决
HarmonyOS avplayer错误码好像不对
294浏览 • 1回复 待解决
HarmonyOS 定位失败 错误码3301200:
278浏览 • 1回复 待解决
HarmonyOS socket连接失败code: 103
121浏览 • 1回复 待解决
Web的onErrorReceive错误码含义
2064浏览 • 1回复 待解决
请求广告返回错误码401
2597浏览 • 1回复 待解决
请求广告返回错误码21800003
2591浏览 • 1回复 待解决
HarmonyOS 文件下载返回错误码8
77浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人