socket发送数据时候先把数据发送到socket缓冲区中,之后接受函数再从缓冲区中取数据,如果发送端特别快的时候,缓冲区很快就被填满(socket默认的是1024×8=8192字节),这时候我们应该根据情况设置缓冲区的大小,可以通过setsockopt函数实现
int setsockopt(
SOCKET s,
int level,
int optname,
const char* optval,
int optlen
);
eg:
int optVal = 1024*1024 ;
int optLen = sizeof(int);
setsockopt(socket, SOL_SOCKET,SO_RCVBUF,(char*)&optVal,optLen );
socket:传输数据的socket
SOL_SOCKET:基本套接口
SO_RCVBUF:接受数据的缓冲区
optVal: 缓冲区大小
optLen :指向缓冲区大小变量的长度
网上还有很多关于这个函数的详细说明。暂时没有用到。以后再添加!