Linux上套接字中的缓冲如何工作
收藏

Linux上的套接字如何缓冲?
也就是说,如果服务器没有读取套接字,而客户端继续发送数据。
那会发生什么呢?套接字的缓冲区有多大?客户会知道这样它就不会发送了吗?


最佳答案:

因为udp套接字客户端永远不会知道-服务器端将在接收缓冲区填满后开始丢弃数据包。
另一方面,tcp实现flow control。服务器的内核将逐渐减少窗口,因此客户端将能够发送越来越少的数据。在某个时刻,窗口会降到零。此时,客户机将填充其发送缓冲区,并从send(2)接收错误。

公众号