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
1天前
浏览
收藏 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
微信
回复
1天前
相关问题
Socket连接报错,错误码88
1823浏览 • 1回复 待解决
TCPSocket on('close')错误码
483浏览 • 1回复 待解决
HarmonyOS 关于2300006错误码
93浏览 • 1回复 待解决
network bindSocket错误码问题
344浏览 • 1回复 待解决
错误码62980096怎么处理
989浏览 • 1回复 待解决
HarmonyOS TCPSocket返回错误码2301004
77浏览 • 1回复 待解决
webview错误码105 是什么错误
852浏览 • 1回复 待解决
eglSwapBuffers常见错误码分析
662浏览 • 1回复 待解决
HarmonyOS avplayer错误码好像不对
41浏览 • 1回复 待解决
请求广告返回错误码21800003
2302浏览 • 1回复 待解决
请求广告返回错误码401
2339浏览 • 1回复 待解决
Web的onErrorReceive错误码含义
1821浏览 • 1回复 待解决
request上传返回错误码401
432浏览 • 2回复 待解决
HarmonyOS 错误码801意义不明确
29浏览 • 1回复 待解决
HarmonyOS 安装hap包提示错误码9568257
172浏览 • 1回复 待解决
HarmonyOS 视频播放偶现 5400106 错误码
85浏览 • 1回复 待解决
HarmonyOS上传app包报错,错误码996
111浏览 • 1回复 待解决
startAbility跳转失败返回错误码16000001
2169浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人