TCP中如果每次发的数据量很小,他就会把几个小的数据和起来作为一个包发出去。但是有些时效性要求很强的小数据,比如一个字节的命令,就不能等待几个一起发出去。好像有个叫紧急指针的东西可以把任意的小数据立刻发出去。这个应该怎么做?

解决方案 »

  1.   

    其实可以在send的时候设置OOB来发送。
      

  2.   

    lawrence191(*_*学习中……) ( ) 信誉:100 麻烦说清楚些。
      

  3.   

    TCP头里有一个标志,设置上就会发送
      

  4.   

    在SOCKET中我们称呼为带外数据!!!当然你接收的时候recv里调用也应该带上接收带外数据的标志
      

  5.   

    你说的可能是关闭nagel算法吧?
      

  6.   

    关闭nagel算法 设置socket选项,选项级别IPPROTO_TCP,选项用TCP_NODELAY,设置值为true
      

  7.   

    在tcp报头的控制位中的psh,有中文书称“推标志”。
      

  8.   

    tcp头中的psh flag就是紧急标志。
    填充的时候设置一下就好
      

  9.   

    关闭nagel算法 设置socket选项,选项级别IPPROTO_TCP,选项用TCP_NODELAY,设置值为true