我在我的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