ホームページ >バックエンド開発 >Golang >エラー org.freedesktop.DBus.Error.UnknownMethod: 不明または無効なメソッド 'Notify'

エラー org.freedesktop.DBus.Error.UnknownMethod: 不明または無効なメソッド 'Notify'

PHPz
PHPz転載
2024-02-06 08:00:171234ブラウズ

错误 org.freedesktop.DBus.Error.UnknownMethod:未知/无效方法“Notify”

質問内容

Godbus を使用して通知サーバーを作成しようとしていますが、サーバー オブジェクトを dbus に適切にエクスポートできず、dbusイントロスペクション XML のみを認識します。 https://specations.freedesktop.org/notification-spec/notification-spec-latest.html に従って実装しました。また、Godbus リポジトリの _example/server.go も使用しています。これは、以下に示すサーバー コードでわかると思います。 これはサーバーコードです:

リーリー

ここでの問題は、クライアントがイントロスペクション XML:

にアクセスできる場合でも、 リーリー

サーバー コードに記述した org.freedesktop.notifications メソッドを使用できません。たとえば、notify が不明/無効です。これは各メソッドで同じです:

リーリー

また、qdbusviewer でメソッドを実行しようとすると、「インターフェース org.freedesktop.notifications のパス /org/freedesktop/notifications でメソッド x が見つかりません」というメッセージが表示されます。

私が試したこと:

    dbus が実行されているかどうかを確認します
  1. サーバーが実行されているかどうかを確認してください
  2. dbus サービスとコンピューターを再起動してみました
  3. notificationserver インスタンス (サーバー) はまったくエクスポートされていないと思いますが、理由はわかりません
#正解

これはうまくいきます。あなたは 2 つの間違いを犯しました:

com.antarctica.notification
  1. func (s *notificationserver)
  2. 名前として「org.freedesktop.notifications」をリクエストする必要があり、関数内でポインターを使用することはできません。

org.freedesktop.notifications
  1. func (サーバーに通知)
  2. (内省する必要もありません)
  3. リーリー

以上がエラー org.freedesktop.DBus.Error.UnknownMethod: 不明または無効なメソッド 'Notify'の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。