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.

 

转自:http://blog.csdn.net/icedmilk/article/details/5336149

你可能感兴趣的:(SOCKET 常用函数的返回值分析)