设置socket缓冲区大小

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 :指向缓冲区大小变量的长度

 

 

网上还有很多关于这个函数的详细说明。暂时没有用到。以后再添加!

你可能感兴趣的:(socket)