4

我已阅读有关创建推送节点和发布/订阅通知的本教程。我遇到的唯一问题是似乎notificationconf无法创建该节点......

我的第一个问题:节点名(notificationconf工具的参数)和notificationNameNSString我从应用程序中使用的)是相同的东西吗?

第二:

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:是的,您需要匹配nodenamenotificationName。手册页是这样说的(虽然不是很清楚):

 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 Leopard Server 的推送通知服务与基于 XMPP Publish-Subscribe 的自定义应用程序一起使用。我努力创建一个节点,但最终想通了。

  1. 追踪服务帐户的密码com.apple.notificationuser。例如,您可以在 中找到它/private/etc/dovecot/notify/notify.plist

  2. com.apple.notificationuser@your-chat-server-hostname.com使用 JID和该密码连接到您的推送通知服务器。

  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 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 回答