![]() |
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的速度接收,那么您必须检查客户端中的接收后操作。如果您正在接收数据,然后在读取更多数据之前对其进行处理,那么这可能是瓶颈。 最好是异步接收数据,一旦一个接收完成,就要求客户端套接字重新开始接收数据,同时在单独的线程池线程中处理接收的数据。这样,您的客户机总是可以接收输入的数据,服务器可以全速发送。 |
![]() |
mig21 bis · 带套接字的SSL_set_fd地址边界错误 2 年前 |
![]() |
hollow · 在读写C中的套接字时,为什么要使用循环缓冲区? 2 年前 |
![]() |
Filipe · 通过http python发送图像 6 年前 |
|
Mr. Rogers · epoll_wait事件的epoll顺序 6 年前 |
![]() |
Michael Beer · 查找插座的传输类型 6 年前 |