插座和fd 共享:sendmsg/recvmsg 相对于 msgsnd/msgrcv 有什么特别之处吗?
如果我有一个包含 10 个子进程的 TCP 服务器,似乎我可以在服务器端使用 msgsnd() 并在工作进程端使用 msgrcv() 与可用子进程共享一个开放套接字连接,而不是使用 sendmsg( ) & recvmsg()。 sendmsg/recvmsg 有什么我不知道的特别之处吗?
If I have a tcp server that has a pool of 10 child workers, it seems like I can share a open socket connect with an available child using msgsnd() on the server side and msgrcv() on the worker side instead of using sendmsg() & recvmsg(). Is there something special about sendmsg/recvmsg that I don't know about?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
sendmsg()和recvmsg()通过套接字发送/接收数据;另一方面,msgsnd() 和 msgrcv() 通过消息队列发送/接收数据。我不认为它们以任何方式兼容或相关(除了它们都存在于 Unix-y 系统上)。
sendmsg() and recvmsg() send/receive data through sockets; msgsnd() and msgrcv(), on the other hand, send/receive data through message queues. I don't think they are compatible or related in any way (other than that they both exist on Unix-y systems).