int send(SOCKET s, const char*buf,int len,int flags);
参数描述:
同步Socket的send函数的执行流程如下:
如果len大于发送缓冲区剩余空间大小(不足放入剩余发送缓冲区),send就一直 等待协议把s发送缓冲区中的数据发送完;
如果len小于发送缓冲区剩余空间大小,就仅仅把buf中的数据copy到发送缓冲区的剩余空间里(send函数返回时并不代表send把s的缓冲区的数据(buf)传到连接的另一端,而是协议传输的,send仅仅是把buf中的数据copy到s的发送缓冲区的剩余空间中)。
如果send函数copy数据成功,就返回实际copy的字节数,如果send在copy数据时出现错误,那么send就返回SOCKET_ERROR;如果send在等待协议传送数据时断开网络,那么send函数也返回SOCKET_ERROR。
recv函数:
int recv (SOCKET s, char* buf,int len,int flags);参数描述:
同步Socket的recv函数的执行流程如下:
资料参考整理自http://blogold.chinaunix.net/u1/35065/showart_1950572.html