我在我的IPC解决方案中使用Qlocalsocket,并且能够启动服务器并接受来自QLocalSocket客户端的连接,并且通信良好,没有问题。无法启动qlocalserver
但我的问题发生在我终止服务器的进程时,我无法再让QLocalServer再次在同一个地方进行侦听,我必须更改服务名称以便能够重新启动它,这是无法实现的运行环境。
那么如何让上一个进程释放这个名字呢?
这里是我如何启动服务器:
m_server = new QLocalServer(this);
if (!m_server->listen("serviceUniqueName")) {
qDebug() << "Not able to start the Server";
return;
}
非常感谢很多朋友,工作正常。 – Dorgham 2013-03-26 12:08:53
但我现在有另一个问题,如果我试图启动服务器,而有另一个实例运行它只是去“/ tmp/socket_name”,删除文件,然后重新启动...所以它会指示消息到最后一个开始或第一个或未确定? @amartel – Dorgham 2013-03-26 13:03:04
我真的不知道,但要避免,你可以使用QtSingleApplication:http://qt.digia.com/Product/Qt-Add-Ons/Qt-Solutions-Archive/ – Amartel 2013-03-26 13:13:09