SOCKET 常用函数的返回值分析

socket()  accept()

如果成功就返回生成的SOCKET,如果失败就返回INVALID_SOCKET.

#define INVALID_SOCKET  (SOCKET)(~0)
实际上是 0xFFFFFFFF 4bytes

 

bind() listen() connect()

如果成功就返回0,如果失败就返回SOCKET_ERROR,需要通过WSAGetLastError获得进一步的错误信息.

#define SOCKET_ERROR            (-1)
实际上是 0xFFFFFFFF 4bytes

 

send() sendto()

如果成功就返回发送的字节数,如果失败就返回SOCKET_ERROR,需要通过WSAGetLastError获得进一步的错误信息.

 

recv() recvfrom()

如果成功就返回收到的字节数,如果如果失败就返回SOCKET_ERROR,需要通过WSAGetLastError获得进一步的错误信息.

如果连接被温和的关闭,返回0,但是recvfrom通常是用于无连接的UDP socket.

你可能感兴趣的:(socket)