我经常注意到netstat中RECV_Q的大小总是小于RECV_BUF。 例如: 我使用getsockopt方法获取服务器套接字的RECV_BUF值,值为20000。 我以这种方式阻止服务器:只接受来自客户端的连接,但是当客户端一直发送数据时,不会从客户端收回任何数据。
我使用commond'sudo netstat -talunp | grep 14455'(14455是服务器pid。) 结果是: “”” tcp 15299 0 127.0.0.1:50005 127.0.0.1:44055 ESTABLISHED 14455 / python “”“
表示RECV_Q为15299,小于RECV_BUF(20000)。
我很困惑RECV_Q和RECV_BUF之间的关系是什么。
答案 0 :(得分:0)
如果RECV_BUF
表示套接字接收缓冲区的大小,则它是套接字接收缓冲区的大小,其中RECV_Q是实际中的数据量。