我写了一个 Tcp的程序服务端有两个send函数,每次发送两个数据到 Socket1 和 Socket2分别对应的客服端去。...
send ( Socket1, buf, size, 0 );
send ( Socket2, buf, size, 0 );
...客户端接收的代码...
recv ( ServerSocket, ( char* ) Zi, sizeof ( ZoneInfo ), 0 );
recv ( ServerSocket, ( char* ) ( Zi + 1 ), sizeof ( ZoneInfo ), 0 );
...注:sizeof ( ZoneInfo )= 804现在的问题是在多次运行 两个send函数以后,开始几次(次数不定)客服端接受正常,但后面几次send就会发生阻塞,客服端接受不到数据,不知道这个是什么原因。多谢各位的解答

解决方案 »

  1.   

    怎么看缓冲区?刚刚我看到个相关帖子说:finalhunter(湛蓝)
    回复于 2002-06-25 20:25:54 得分 10TCP或UDP会把不太长的包粘起来或把太长的包截断   
      有时是因为过快的发送方把缓慢的接受方淹没   
      建议多建立几个socket连接,交替传输,然后粘起来.   
      希望对你有所帮助.我觉得可能是这个问题,程序不是到一定次数阻塞,而是每次都在不同的时候阻塞