我有一个系统,当发生某些事情时,通过 UDP 套接字将单字节消息从一个进程发送到另一个进程。在接收端,这个事件是否发生过一次、十几次甚至一百万次都无关紧要。
与其进行许多无用的 recvfrom() 调用,我想也许我可以使用 setsockopt 将 SO_RCVBUF 设置为 1,我希望这会导致系统简单地忽略除第一条消息之外的所有消息(直到它被读取从而允许另一个消息)。然而,谷歌搜索发现一些证据表明这可能不是 100% 可移植的(看起来有些系统可能会悄悄地强制执行最小尺寸?)。
所以在我开始尝试这个工作之前,我想知道是否有人知道这有多大可能起作用?如果这在任何方面都重要的话,这在 Red Hat Linux 上。