使用WSAGetLastError()获取socket的常见错误信息(摘自MSDN)
常数 | 值 | 描述 |
sckOutOfMemory | 7 | 内存不足 |
sckInvalidPropertyValue | 380 | 属性值无效。 |
sckGetNotSupported | 394 | 属性不可读。 |
sckSetNotSupported | 383 | 属性是只读的。 |
sckBadState | 40006 | 所请求的事务或请求本身的错误协议或者错误连接状态。 |
sckInvalidArg | 40014 | 传递给函数的参数格式不确定,或者不在指定范围内。 |
sckSuccess | 40017 | 成功。 |
sckUnsupported | 40018 | 不受支持的变量类型。 |
sckInvalidOp | 40020 | 在当前状态下的无效操作 |
sckOutOfRange | 40021 | 参数越界。 |
sckWrongProtocol | 40026 | 所请求的事务或请求本身的错误协议 |
sckOpCanceled | 1004 | 取消操作。 |
sckInvalidArgument | 10014 | 所请求的地址是广播地址,但未设置标记。 |
sckWouldBlock | 10035 | 套接字不成块,而指定操作将使之成块。 |
sckInProgress | 10036 | 制造块的 Winsock 操作在进行之中。 |
sckAlreadyComplete | 10037 | 完成操作。未进行制造块的操作。 |
sckNotSocket | 10038 | 描述符不是套接字。 |
sckMsgTooBig | 10040 | 数据报太大,不适于缓冲区的要求,因而被截断。 |
sckPortNotSupported | 10043 | 不支持指定的端口。 |
sckAddressInUse | 10048 | 地址在使用中。 |
sckAddressNotAvailable | 10049 | 来自本地机器的不可用地址。 |
sckNetworkSubsystemFailed | 10050 | 网络子系统失败。 |
sckNetworkUnreachable | 10051 | 此时不能从主机到达网络。 |
sckNetReset | 10052 | 在设置 SO_KEEPALIVE 时连接超时。 |
sckConnectAborted | 11053 | 由于超时或者其它失败而中止连接。 |
sckConnectionReset | 10054 | 通过远端重新设置连接。 |
sckNoBufferSpace | 10055 | 没有可用的缓冲空间。 |
sckAlreadyConnected | 10056 | 已连接套接字。 |
sckNotConnected | 10057 | 未连接套接字。 |
sckSocketShutdown | 10058 | 已关闭套接字。 |
sckTimedout | 10060 | 已关闭套接字。 |
sckConnectionRefused | 10061 | 强行拒绝连接。 |
sckNotInitialized | 10093 | 应首先调用 WinsockInit。 |
sckHostNotFound | 11001 | 授权应答:未找到主机。 |
sckHostNotFoundTryAgain | 11002 | 非授权应答:未找到主机。 |
sckNonRecoverableError | 11003 | 不可恢复的错误。 |
sckNoData |