|
|
1
6
在TCP中,它是客户端。如果服务器的TCP窗口已满,则需要等待客户端发出更多的ACK。它隐藏在TCP堆栈中,但TCP引入了保证传递,这也意味着服务器发送数据的速度不能超过客户端处理数据的速度。 |
|
|
2
3
TCP有流量控制,它自动发生。请阅读 http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Flow_control 当管道由于流控制而充满时,在释放流控制之前,服务器I/O套接字写入操作不会完成。 |
|
|
3
0
服务器正在以5.0MB/s的速度写入数据,但是如果您的客户机是这里的瓶颈,那么服务器必须等待“已发送缓冲区”中的数据完全发送到客户机,或者释放足够的空间以放入更多的数据。 正如您所说,轻量客户端能够以5.0Mb/s的速度接收,那么您必须检查客户端中的接收后操作。如果您正在接收数据,然后在读取更多数据之前对其进行处理,那么这可能是瓶颈。 最好是异步接收数据,一旦一个接收完成,就要求客户端套接字重新开始接收数据,同时在单独的线程池线程中处理接收的数据。这样,您的客户机总是可以接收输入的数据,服务器可以全速发送。 |