Socket 错误返回码

Socket error 0 - Directly send error 
Socket error 10004 - Interrupted function call 
Socket error 10013 - Permission denied 
Socket error 10014 - Bad address 
Socket error 10022 - Invalid argument 
Socket error 10024 - Too many open files 
Socket error 10035 - Resource temporarily unavailable 
Socket error 10036 - Operation now in progress 
Socket error 10037 - Operation already in progress 
Socket error 10038 - Socket operation on non-socket 
Socket error 10039 - Destination address required 
Socket error 10040 - Message too long 
Socket error 10041 - Protocol wrong type for socket 
Socket error 10042 - Bad protocol option 
Socket error 10043 - Protocol not supported 
Socket error 10044 - Socket type not supported 
Socket error 10045 - Operation not supported 
Socket error 10046 - Protocol family not supported 
Socket error 10047 - Address family not supported by protocol family 
Socket error 10048 - Address already in use 
Socket error 10049 - Cannot assign requested address 
Socket error 10050 - Network is down 
Socket error 10051 - Network is unreachable 
Socket error 10052 - Network dropped connection on reset 
Socket error 10053 - Software caused connection abort 
Socket error 10054 - Connection reset by peer 
Socket error 10055 - No buffer space available 
Socket error 10056 - Socket is already connected 
Socket error 10057 - Socket is not connected 
Socket error 10058 - Cannot send after socket shutdown 
Socket error 10060 - Connection timed out 
Socket error 10061 - Connection refused 
Socket error 10064 - Host is down 
Socket error 10065 - No route to host 
Socket error 10067 - Too many processes 
Socket error 10091 - Network subsystem is unavailable 
Socket error 10092 - WINSOCK.DLL version out of range 
Socket error 10093 - Successful WSAStartup not yet performed 
Socket error 10094 - Graceful shutdown in progress 
Socket error 11001 - Host not found 
Socket error 11002 - Non-authoritative host not found 
Socket error 11003 - This is a non-recoverable error 
Socket error 11004 - Valid name, no data record of requested type

WSAEADDRINUSE (10048) Address already in use 
WSAECONNABORTED (10053) Software caused connection abort 
WSAECONNREFUSED (10061) Connection refused 
WSAECONNRESET (10054) Connection reset by peer 
WSAEDESTADDRREQ (10039) Destination address required 
WSAEHOSTUNREACH (10065) No route to host 
WSAEMFILE (10024) Too many open files 
WSAENETDOWN (10050) Network is down 
WSAENETRESET (10052) Network dropped connection
WSAENOBUFS (10055) No buffer space available 
WSAENETUNREACH (10051) Network is unreachable 
WSAETIMEDOUT (10060) Connection timed out 
WSAHOST_NOT_FOUND (11001) Host not found 
WSASYSNOTREADY (10091) Network sub-system is unavailable 
WSANOTINITIALISED (10093) WSAStartup() not performed 
WSANO_DATA (11004) Valid name, no data of that type 
WSANO_RECOVERY (11003) Non-recoverable query error 
WSATRY_AGAIN (11002) Non-authoritative host found
WSAVERNOTSUPPORTED (10092) Wrong WinSock DLL version
### Socket 错误码 114 的含义 Socket 错误码 `114` 表示的是 `EINPROGRESS`,这是一个常见的非阻塞套接字操作中的错误代码。当尝试执行一个无法立即完成的操作时,会返回此错误代码[^1]。具体来说,在调用诸如 `connect()` 或其他涉及网络通信的函数时,如果该操作尚未完成而程序继续运行,则可能收到这个错误。 #### 非阻塞模式下的行为解释 在非阻塞模式下工作时,某些 socket 调用不会等待操作结束就会返回控制权给应用程序。例如,当你在一个设置为非阻塞状态的 socket 上发起连接请求 (`connect()`) 后,如果没有立刻建立成功,操作系统通常会报告 EINPROGRESS (即错误号 114),表明当前操作正在进行中而不是失败了[^2]。 为了处理这种情况并确认最终的结果如何,可以采用以下方法之一: - **轮询 select/poll**: 使用这些工具来监视文件描述符的状态变化直到它变为可写入状态(对于 connect 来说意味着已经准备好或者发生了某种类型的事件)。 ```python import socket, select sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setblocking(False) try: sock.connect(('example.com', 80)) except BlockingIOError as e: if e.errno != errno.EINPROGRESS: raise rlist, wlist, xlist = select.select([], [sock], [], timeout_value_in_seconds) if sock in wlist: # Connection established successfully or failed with an error that can be retrieved via getsockopt. else: # Handle the case where no event occurred within your specified time limit. ``` - **异步通知 epoll/kqueue**: 更高效的机制用于大量并发连接管理场景下替代简单的select循环方式实现更优性能表现的同时保持较低CPU占用率水平. 需要注意的是解决办法取决于实际应用场景以及所使用的编程环境等因素影响较大因此需灵活调整策略适应不同需求条件约束情况之下达到最佳效果平衡点位置所在之处才行得通才行啊亲~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值