2

我正在使用 QLocalServer 创建一个本地套接字,以便其他进程可以连接到我的 Qt 应用程序。我的问题是 Qt 似乎/tmp/很想在XDG_RUNTIME_DIR.

如果我使用:

QLocalServer socketServer;
socketServer.setSocketOptions(QLocalServer::UserAccessOption);
socketServer.listen("appname.socket"); //creates socket file, returns true.

然后在 中创建套接字/tmp/,但是如果我尝试指定绝对或相对路径,那么 Qt 似乎根本不会费心创建套接字。

QLocalServer socketServer;
socketServer.setSocketOptions(QLocalServer::UserAccessOption);
socketServer.listen("/tmp/appname.socket"); //returns false, does not create socket.

编辑:仔细检查后,设置套接字文件权限的 setSocketOptions(QLocalServer::UserAccessOption) 是阻止我指定套接字路径的原因。注释掉这一行会消除限制。但这肯定不是 Qt 的预期行为方式吗?

4

0 回答 0