服务器重启后重新连接到QDBus服务器(Qt C ++)

时间:2016-04-04 10:00:49

标签: c++ linux qt qdbus qtdbus

我正在测试使用DBus进行QT C ++项目(Linux)的进程间通信。

我没有使用总线守护程序,我正在使用unix路径/套接字。

在QT DBUS这个神秘的世界中航行之后似乎一切顺利,直到我想测试我的一个界面的稳健性。

杀死服务器进程后重新启动它,连接超时..我清理连接对象(客户端),我尝试重新连接到服务器。

客户端似乎无法重新连接,我收到以下错误: errName:org.freedesktop.DBus.Error.NoServer errMesage:无法连接到socket / tmp / abcd:连接被拒绝

我试过: - QDBusConnection :: disconnectFromPeer(addr); - 清理所有相关对象,因此不存在对连接的引用。

当我重新启动客户端时,连接到(重新启动的)服务器没有问题。

1 个答案:

答案 0 :(得分:0)

发现问题! 似乎是Qt 4.8.x中的一个错误: https://bugreports.qt.io/browse/QTBUG-27973 https://codereview.qt-project.org/#/c/60709/

QDBusConnection :: disconnectFromBus和QDBusConnection :: disconnectFromPeer不会删除无效连接