为了学习,我创建了两个简单的C程序来模拟以下套接字场景:循环中的客户机向服务器发送256个字节(带有send标志的MSG_DONTWAIT函数),但服务器不读取数据(recv函数)。为了简单起见,服务器不向客户端发送任何其他数据。我想测试send方法何时会返回一个错误。我使用linux ss -nmtp命令查看套接字缓冲区发生了什么。首先,服务器接收缓冲区(Recv-Q)和skmem r参数正在增长:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 768 0