1# SOCKET 错误码 2 3<!--Kit: Network Kit--> 4<!--Subsystem: Communication--> 5<!--Owner: @wmyao_mm--> 6<!--Designer: @guo-min_net--> 7<!--Tester: @tongxilin--> 8<!--Adviser: @zhang_yixin13--> 9 10> **说明:** 11> 12> 以下仅介绍本模块特有错误码,通用错误码请参考[通用错误码](../errorcode-universal.md)说明文档。 13> socket错误码映射关系:2301000 + [内核错误码](./errorcode-kernel.md)。 14> socket server错误码映射关系:2303100 + [内核错误码](./errorcode-kernel.md)。 15 16## 2301001 操作不允许 17 18**错误信息** 19 20Operation not permitted. 21 22**错误描述** 23 24操作不允许。 25 26**可能原因** 27 28非法操作。 29 30**处理步骤** 31 32检查操作步骤。 33 34## 2301002 文件不存在 35 36**错误信息** 37 38No such file or directory. 39 40**错误描述** 41 42文件不存在。 43 44**可能原因** 45 46文件不存在。 47 48**处理步骤** 49 50检查文件名或文件路径。 51 52## 2301003 进程不存在 53 54**错误信息** 55 56No such process. 57 58**错误描述** 59 60进程不存在。 61 62**可能原因** 63 64进程不存在。 65 66**处理步骤** 67 68排查进程信息。 69 70## 2301004 系统调用中断 71 72**错误信息** 73 74Interrupted system call. 75 76**错误描述** 77 78系统调用中断。 79 80**可能原因** 81 82系统调用中断。 83 84**处理步骤** 85 86排查系统调用。 87 88**TCP/UDP 错误码说明:** 89> TCP/UDP Socket其余错误码映射形式为:2301000 + Linux系统内核错误码errno,关键信息请参考Linux系统内核错误码。 90 91## 2300002 系统内部错误 92 93**错误信息** 94 95System internal error. 96 97**错误描述** 98 99系统内部错误。 100 101**可能原因** 102 1031.内存异常。 104 1052.空指针。 106 107**处理步骤** 108 1091.检查内存空间是否充足,清理内存后重试。 110 1112.系统异常,请稍后重试或重启设备。 112 113## 2301206 SOCKS5连接代理服务器失败 114 115**错误信息** 116 117Socks5 failed to connect to the proxy server. 118 119**错误描述** 120 121SOCKS5客户端连接代理服务器失败。 122 123**可能原因** 124 125代理服务器地址有误。 126 127**处理步骤** 128 129排查代理服务器地址是否正确。 130 131## 2301207 SOCKS5认证用户名或密码无效 132 133**错误信息** 134 135Socks5 username or password is invalid. 136 137**错误描述** 138 139SOCKS5使用用户名密码认证方式时,用户名或者密码无效。 140 141**可能原因** 142 143用户名密码有误。 144 145**处理步骤** 146 147排查用户名密码是否设置准确。 148 149## 2301208 SOCKS5连接远程服务器失败 150 151**错误信息** 152 153Socks5 failed to connect to the remote server. 154 155**错误描述** 156 157SOCKS5代理连接远程服务器失败。 158 159**可能原因** 160 161远程服务器网络问题。 162 163**处理步骤** 164 165排查远程服务器网络状况。 166 167## 2301209 SOCKS5协商认证方式失败 168 169**错误信息** 170 171Socks5 failed to negotiate the authentication method. 172 173**错误描述** 174 175SOCKS5协商认证方式失败。 176 177**可能原因** 178 179代理服务器不支持客户端提供的认证方式。 180 181**处理步骤** 182 183排查代理服务器是否支持客户端提供的认证方式。 184 185## 2301210 SOCKS5发送消息失败 186 187**错误信息** 188 189Socks5 failed to send the message. 190 191**错误描述** 192 193SOCKS5因系统调用错误,发送消息失败。 194 195**可能原因** 196 197内存溢出、参数无效等,关键信息请参考日志中Linux系统内核错误码。 198 199**处理步骤** 200 201尝试新建socket,再次发起连接。 202 203## 2301211 SOCKS5接收消息失败 204 205**错误信息** 206 207Socks5 failed to receive the message. 208 209**错误描述** 210 211SOCKS5因系统调用错误,接收消息失败。 212 213**可能原因** 214 215内存溢出、参数无效等,关键信息请参考日志中Linux系统内核错误码。 216 217**处理步骤** 218 219尝试新建socket,再次发起连接。 220 221## 2301212 SOCKS5消息序列化失败 222 223**错误信息** 224 225Socks5 serialization error. 226 227**错误描述** 228 229SOCKS5消息序列化失败。 230 231**可能原因** 232 233用户名密码过长,代理服务器、远端服务器地址和协议类型不匹配。 234 235**处理步骤** 236 237排查用户名密码长度是否过长,代理服务器、远端服务器的地址和协议类型是否匹配。 238 239## 2301213 SOCKS5消息反序列化失败 240 241**错误信息** 242 243Socks5 deserialization error. 244 245**错误描述** 246 247SOCKS5消息反序列化失败。 248 249**可能原因** 250 251服务器响应数据包长度不符合协议。 252 253**处理步骤** 254 255排查服务器响应数据包。 256 257## 2303104 中断系统调用 258 259**错误信息** 260 261Interrupted system call. 262 263**错误描述** 264 265中断系统调用。 266 267**可能原因** 268 269调用connect时,可能会导致阻塞时间过长,所以系统产生中断信号,返回EINTR错误。 270 271**处理步骤** 272 273尝试重新走网络连接流程。 274 275## 2303109 错误文件编号 276 277**错误信息** 278 279Bad file number. 280 281**错误描述** 282 283在本地关闭的套接字上进行操作将返回该错误。 284 285**可能原因** 286 287socket fd可能被关闭了,所以发生参数无效的错误。 288 289**处理步骤** 290 291检查socket是否被意外关闭。 292 293## 2303111 资源暂时不可用,请重试 294 295**错误信息** 296 297Resource temporarily unavailable. Try again. 298 299**错误描述** 300 301系统资源暂时不可用,尝试再次调用。 302 303**可能原因** 304 305系统资源繁忙。 306 307**处理步骤** 308 309重新调用接口。 310 311## 2303188 非套接字的套接字操作 312 313**错误信息** 314 315Not a socket. 316 317**错误描述** 318 319参数socket未指定一个套接字描述符。 320 321**可能原因** 322 323参数不是套接字类型的描述符。 324 325**处理步骤** 326 327检查代码描述符的获取是否正确。 328 329## 2303191 socket协议类型错误 330 331**错误信息** 332 333Incorrect socket protocol type. 334 335**错误描述** 336 337参数设置的协议类型错误。 338 339**可能原因** 340 341标识了协议的Socket函数在不支持的socket上进行操作,如Internet UDP协议不能被标识为SOCK_STREAM socket类型。 342 343**处理步骤** 344 345检查参数设置是否符合协议类型。 346 347## 2303198 网络地址已被使用 348 349**错误信息** 350 351Address already in use. 352 353**错误描述** 354 355地址已被使用。 356 357**可能原因** 358 359如果应用程序试图将套接字绑定到已用于现有套接字的IP地址/端口,或未正确关闭的套接字,或仍在关闭过程中的套接字,则会发生此错误。 360 361**处理步骤** 362 363尝试其他地址。 364 365## 2303199 不能分配请求的地址 366 367**错误信息** 368 369Address not available. 370 371**错误描述** 372 373请求的地址在其上下文中无效。 374 375**可能原因** 376 377当远程地址或端口对远程计算机无效时,可能发生该问题。 378 379**处理步骤** 380 381检查地址或端口是否正确。 382 383## 2303200 网络已关闭 384 385**错误信息** 386 387Network is down. 388 389**错误描述** 390 391网络已关闭。 392 393**可能原因** 394 395网络服务未启动或已停止。 396 397**处理步骤** 398 399检查网络连接。 400 401## 2303210 连接超时 402 403**错误信息** 404 405Connection timed out. 406 407**错误描述** 408 409长时间不能和远程服务器建立连接。 410 411**可能原因** 412 413这种情况一般发生在服务器主机崩溃。 414 415**处理步骤** 416 417本地无法处理此问题,需确认远程服务器是否出现故障。 418 419## 2303501 SSL为空 420 421**错误信息** 422 423SSL is null. 424 425**错误描述** 426 427参数错误。 428 429**可能原因** 430 431当内部发生函数执行失败时,会获取错误信息,当获取信息为null时,发生该错误。 432 433**处理步骤** 434 435尝试重新执行一遍流程。 436 437## 2303502 TLS读取错误 438 439**错误信息** 440 441An error occurred when reading data on the TLS socket. 442 443**错误描述** 444 445等待套接字可读。 446 447**可能原因** 448 449底层socket阻塞。 450 451**处理步骤** 452 453重新执行接收数据的操作。 454 455## 2303503 TLS写入错误 456 457**错误信息** 458 459An error occurred when writing data on the TLS socket. 460 461**错误描述** 462 463等待套接字可写。 464 465**可能原因** 466 467发送端缓冲区已满时,底层套接字发送将给出EWOUDLBLOCK错误,这意味着服务器没有读取从客户端发送的消息。 468 469**处理步骤** 470 471需检查服务器状态并进行修复。 472 473## 2303504 查找x509时出错 474 475**错误信息** 476 477An error occurred when verifying the x509 certificate. 478 479**错误描述** 480 481认证x509证书发生错误,操作未完成。 482 483**可能原因** 484 485本地证书和服务器证书不匹配。 486 487**处理步骤** 488 489检查本地CA跟证书和服务器证书是否匹配。 490 491## 2303505 TLS系统调用错误 492 493**错误信息** 494 495An error occurred in the TLS system call. 496 497**错误描述** 498 499发生了一些不可恢复的致命I/O错误。 500 501**可能原因** 502 503网络问题,导致通信失败。 504 505**处理步骤** 506 507请参阅Linux系统内核错误码errno以了解详细信息。 508 509## 2303506 清除TLS连接出错 510 511**错误信息** 512 513Failed to close the TLS connection. 514 515**错误描述** 516 517TLS/SSL连接已关闭。 518 519**可能原因** 520 521协议中出现关闭警报时,即连接已完全关闭时,才会返回此结果代码。 522 523**处理步骤** 524 525尝试重新发起连接。