SOCKET选项--TCP_NODELAY

  默认情况下,发送 数据采用Negale算法.


  Negale算法是指发送的数据不会立刻发出,而是放在缓冲区内,等缓冲区满了再发出.发送完一批数据后,会等待接收方对这批数据的回应,然后再发送下一批数据.
  Negale算法适用于发送方需要发送大批量数据,并且接收方会及时作出回应的场合,这种算法通过减少传输数据的次数来提高通信效率.
  如果发送方持续发送小批量的数据,并且接收方不一定发送响应数据,那么Negale算法会使发送方运行很慢.

  TCP_NODELAY的默认值为false,表示采用Negale算法. 
  如果设TCP_NODELAY为true,则表示会关闭Socket的缓冲,确保数据及时发送.

 如果socket的底层不支持tcp_Nodelay选项,设置TCP_NODELAY会抛出异常

你可能感兴趣的:(SOCKET选项--TCP_NODELAY)