我在两台通过32 KBps连接连接的linux机器上设置了客户端/服务器。客户端向服务器发送32字节UDP数据包,服务器以1024字节UDP数据包响应。我遇到了以下问题...
客户端在2 ms内向服务器发送两个32字节的数据包。服务器接收第一个数据包,并使用sendto函数响应相应的1024字节响应数据包。然后它继续调用recvfrom,等待来自客户端的第二个数据包。鉴于套接字是全双工的,我希望recvfrom最多应在几毫秒内完成,但经过反复测试,它总是需要~32 ms,即在32 KBps链路上发送1024字节数据包所需的时间。 UDP套接字阻止接收,直到它发送了所有数据?这似乎是这里发生的事情,但我无法在网上找到确认这一点。