4

プッシュノードの作成と通知の投稿/サブスクライブに関するこのチュートリアル読みました。私が遭遇した唯一の問題は、notificationconfそのノードを作成できないように見えることです...

notificationconf私の最初の質問:ノード名(ツールのパラメーター)とnotificationNameNSStringアプリから使用する)は同じものですか?

2番:

notificationconf createnode push.example.com BFMyTestPushhNotification beefon
Enter password: // password from Open Directory for user beefon - it is Admin of the 10.6 server
2010-01-24 13:24:58.916 notificationconf[15221:903] created XMPP session
2010-01-24 13:24:58.931 notificationconf[15221:903] Connecting to push.example.com:5222 with user com.apple.notificationuser@push.example.com/TestPubsub, security = 2 ...
2010-01-24 13:24:59.130 notificationconf[15221:903] sessionCallback (event 1)
2010-01-24 13:24:59.130 notificationconf[15221:903] Session stopped (event 1)

私は何を間違えますか?そして、アプリからの通知の投稿は何もしません...

助けてくれてありがとう!

4

2 に答える 2

1

通知は同じノードで簡単に使用できますが、ネットワーク全体で使用するのは困難です。特に、グーグルの検索結果が少ないので、実際に使っている人はあまりいないと思います:)さて、あなたの質問について:

1の場合:はい、一致する必要がありnodenameますnotificationName。マニュアルページにはそのように書かれています(ただし、明確ではありません)。

 createnode hostname nodename username
         Creates a node on the server to send notifications using.  Before
         a client can subscribe to notifications with a given name, the
         server must be configured with a node with a matching name.

したがって、最初にノードを作成する必要があり、次に特定の名前の通知を聞くことができます。そうしないと、通知が届きません。

2の場合: XMMPデーモンが実行されていない場合(つまり、ポート5222が閉じている場合)にこのエラーが発生します。そのポートは開いていますか?(の出力を確認してくださいnmap -p 5222 push.example.com)。

于 2010-03-03T18:54:36.410 に答える
1

Snow LeopardServerのプッシュ通知サービスをXMPPパブリッシュ/サブスクライブに基づくカスタムアプリケーションで使用しようとしています。私はノードを作成するのに苦労しましたが、最終的にそれを理解しました。

  1. サービスアカウントのパスワードを追跡しますcom.apple.notificationuser。たとえば、で見つけることができます/private/etc/dovecot/notify/notify.plist

  2. JIDcom.apple.notificationuser@your-chat-server-hostname.comとそのパスワードを使用してプッシュ通知サーバーに接続します。

  3. 通常の方法でノードを作成します。XMPPFrameworkでは、次のようになります。

    XMPPJID *serviceJID =
    [XMPPJID jidWithString:@"pubsub.your-chat-server-hostname.com"];
    XMPPPubSub *xmppPubSub = [[XMPPPubSub alloc] initWithServiceJID:serviceJID];
    [xmppPubSub createNode:@"pubsub.your-chat-server-hostname.com`
               withOptions:nil];
    
  4. サーバーがノードを作成します。それはIQで応答しますが、仕様が要求するものではありません。ノードがすでに存在する場合は、準拠エラーを送信します。

    <iq xmlns="jabber:client"
    to="com.apple.notificationuser@your-chat-server-hostname.com/..."
    from="pubsub.your-chat-server-hostname.com"
    id="...:create_node" type="result"/>
    
  5. 同じユーザーを使用して接続し、更新を公開します。

私はnotificationconf仕事に就くことができませんでした。

于 2013-01-25T03:04:04.513 に答える