1

Windows7プラットフォームでのdbus-daemonの実行に問題があります。dbus 1.4.18ソースをダウンロードし、 cmakeとvisual2010コンパイラを使用してビルドしました。次に、dbus-launchを使用してdbus-daemonを起動しましたが、機能します。その後、簡単なコードを使用してバスに接続しようとしました。

DBusConnection* conn;
DBusError err;

dbus_error_init(&err);
conn = dbus_bus_get(DBUS_BUS_SESSION, &err);

しかし、それでも同じエラーが発生します。

"タイプnonce-tcpのサーバーアドレスに引数noncefileがありませんでした"

そこで、dbus-daemonプロセスを強制終了し、session.confファイルを開いて、以下に示すようにタグ内にnoncefileパスを追加しました。

<listen>nonce-tcp:noncefile=C:\my_temporary_path</listen>

その後、もう一度起動しようとしましたが、タスクリストにdbus-daemonプロセスが表示されません。冗長モードでdbus-daemonを起動しても、エラーメッセージは表示されません。ドキュメントにあるように、ホストやポートなどのパラメータを追加しようとしました。

http://dbus.freedesktop.org/doc/dbus-specification.html

しかし、デーモンはまだ機能しません。以前の設定「nonce-tcp:」に戻ると、すべて正常に見えます。

私は何を間違えましたか?

  • %temp%-これは、nonceファイルがdbus-daemonによって作成される場所です。
4

1 に答える 1

1

<listen>nonce-tcp:</listen>デーモン構成はOKです。IIUC デーモンはnoncefile、クライアントが使用するアドレスを書き出すときにパラメーターを追加することになっています。クライアントは、http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-typesで説明されているメカニズムを介してアドレスを探す必要があります。申し訳ありませんが、Windows でどのように動作するかわかりません。libdbus のソースを参照する必要があるようです。

于 2013-02-14T16:00:31.907 に答える