使用POSIX消息队列还是Unix域套接字进行本地IPC通信更好?
我曾经在机器(而不是域)之间使用过Unix套接字,我记得建立和断开连接会导致套接字在最终消失之前逗留一段时间。此外,如果您想要一个“可靠的”交换,您要么必须使用TCP,要么将应用程序设计为返回ACK。不过,我不确定这是否也适用于Unix域套接字。
在我当前的项目中,我们需要本地IPC。我的第一反应是使用POSIX MQueues,因为我以前在本地消息传递中使用过它们。然而,一位同事建议使用Unix域套接字。
是一种比另一种更好,还是编程熟悉度的问题?或者它可能取决于正在创建的应用程序?
从总体上看,我们正在开发的应用程序遵循客户端/服务器模型。客户端向服务器发送消息以“做点什么”。但是,客户端并不等待“‘t”响应--尽管它们确实想知道它们的请求是否已经收到。
发送端的基本逻辑是:
connect to server
send request
note if the send worked or not
disconnect from server
一台服务器可以有数百个客户端。
我们正在运行Linux操作系统的SMP系统(4-8核)上执行。
提前谢谢。
https://stackoverflow.com/questions/3774346
复制相似问题