Linux下connect()函数的错误代码对应含义

下面把Linux下connect()函数出错返回的错误代码对应的含义摘录出来,供大家查阅。(注意,Linux下网络编程和Windows下网络编程,对于connect()函数返回的错误代码是不同的,在windows下的connect()函数返回错误代码可以百度connect()函数,在百度百科里找到,下面也摘录出来)

Linux下:
EBADF:参数socket未指定一个合法的描述符
ENOTSOCK  参数socket未指定一个套接字描述符
EAFNOSUPPORT  远程端点指定的地址族不能与这种类型的套接字一起使用
EADDRNOTAVAIL:指定的地址不可用
EISCONN:套接字已被连接
ETIMEDOUT:(只用于TCP)协议因未成功建立一个连接而超时
ECONNREFUSED:(只用于TCP)连接被远程机器拒绝
ENETUNREACH:(只用于TCP)网络当前不可到达
EADDRINUSE:指定的地址正在使用
EINPROGRESS:(只用于TCP)套接字是非阻塞的,且一个连接尝试将被阻塞
EALREADY:(只用于TCP)套接字是非阻塞的,且调用将等待前一个连接尝试完成


windows下(摘自百度百科):
WSAENOTINITIALISED:在使用此API之前应首先成功地调用WSAStartup()。
WSAENETDOWN:WINDOWS 套接口实现检测到网络子系统失效。
WSAEADDRINUSE:所指的地址已在使用中。
WSAEINTR:通过一个 WSACancelBlockingCall()来取消一个(阻塞的)调用。
WSAEINPROGRESS:一个阻塞的WINDOWS 套接口调用正在运行中。
WSAEADDRNOTAVAIL:在 本地机器上找不到所指的地址。
WSAENOTSUPPORT:所指族中地址无法与本 套接口一起使用。
WSAECONNREFUSED:连接尝试被强制拒绝。
WSAEDESTADDREQ:需要目的地址。
WSAEFAULT:namelen参数不正确。
WSAEINVAL: 套接口没有准备好与一地址捆绑。
WSAEISCONN: 套接口早已连接。
WSAEMFILE:无多余文件描述字。
WSAENETUNREACH:当前无法从本主机访问网络。
WSAENOBUFS:无可用缓冲区。 套接口未被连接。
WSAENOTSOCK:描述字不是一个 套接口
WSAETIMEOUT:超时时间到。
WSAEWOULDBLOCK: 套接口设置为非阻塞方式且连接不能立即建立。可用 select()调用对 套接口写,因为select()时会进行连接。

你可能感兴趣的:(Linux,Windows*Visual,Studio*MFC,connect函,错误代码,Linux网络编程)