我写了一个 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就会发生阻塞,客服端接受不到数据,不知道这个是什么原因。多谢各位的解答
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就会发生阻塞,客服端接受不到数据,不知道这个是什么原因。多谢各位的解答
回复于 2002-06-25 20:25:54 得分 10TCP或UDP会把不太长的包粘起来或把太长的包截断
有时是因为过快的发送方把缓慢的接受方淹没
建议多建立几个socket连接,交替传输,然后粘起来.
希望对你有所帮助.我觉得可能是这个问题,程序不是到一定次数阻塞,而是每次都在不同的时候阻塞