在 recv()
's手册页我发现在这种情况下返回值可以为零:
Datagram sockets in various domains (e.g., the UNIX and Internet domains) permit zero-length datagrams. When such a datagram is received, the return value is 0.
何时或为什么应该在 UNIX 套接字互通中使用零长度数据报?它的目的是什么?
最佳答案
一种这样的用途是在您希望关闭 UDP 服务线程时解除对 recvfrom() 调用的阻塞 - 设置“终止”标志并在本地主机堆栈上发送零长度数据报。
关于c - 使用 UNIX 套接字 "zero-length datagrams"的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66351450/