2016-04-04 6 views
2

Ich teste gerade DBus für die Kommunikation zwischen Prozessen für ein QT C++ - Projekt (Linux) aus.Erneutes Verbinden mit dem QDBus-Server nach dem Neustart des Servers (Qt C++)

Ich verwende nicht den Bus-Daemon und ich verwende Unix-Pfade/Sockets.

Nachdem ich meinen Weg durch die geheimnisvolle Welt von QT DBUS gegangen bin, schien alles gut zu laufen, bis ich die Robustheit einer meiner Schnittstellen testen wollte.

Nach dem Töten des Server-Prozesses und Neustart es, die Verbindung Zeitüberschreitung .. Ich bereinig die Verbindungsobjekte (Client-Seite) und ich versuche, eine erneute Verbindung mit dem Server.

Der Kunde scheint nicht der Lage zu sein, wieder zu verbinden und ich erhalte die folgenden Fehler: ERRNAME: org.freedesktop.DBus.Error.NoServer errMesage: Fehler beim Socket/tmp/ABCD verbinden: Verbindung

verweigert

Ive versucht: - QDBusConnection :: disconnectFromPeer (addr); - bereinigen alle verwandten Objekt, so dass keine Verweise auf die Verbindung vorhanden sind.

Wenn ich den Client neu starte, hat es keine Probleme beim Verbinden mit dem (neugestarteten) Server.

Antwort

Verwandte Themen