Używam Qlocalsocket w moim rozwiązaniu IPC i jestem w stanie uruchomić serwer i akceptować połączenia od klientów QLocalSocket i dobrze się komunikować, nie ma w tym problemu.nie można uruchomić qlocalserver
ale mój problem występuje, gdy zabiję proces serwera, nie mogę sprawić, aby QLocalServer nasłuchiwał ponownie w tym samym miejscu, muszę zmienić nazwę usługi, aby móc ponownie uruchomić, co nie było możliwe środowisko uruchomieniowe.
, więc jak dokonać poprzedniego procesu, aby uwolnić tę nazwę?
oto jak ja uruchomić serwer:
m_server = new QLocalServer(this);
if (!m_server->listen("serviceUniqueName")) {
qDebug() << "Not able to start the Server";
return;
}
dziękuję przyjaciołom, którzy działali poprawnie. – Dorgham
, ale mam teraz inny problem, jeśli spróbuję uruchomić serwer, gdy jest inna uruchomiona instancja, po prostu przejdź do "/ tmp/socket_name", usuń plik i zacznij od nowa ... więc będzie kierował wiadomości do ostatniego jeden zaczął się, pierwszy czy nieokreślony? @amartel – Dorgham
Naprawdę nie wiem, ale aby uniknąć, możesz użyć QtSingleApplication: http://qt.digia.com/Product/Qt-Add-Ons/Qt-Solutions-Archive/ – Amartel