XMPP Server for iPhone 中的好友列表问题

Posted

技术标签:

【中文标题】XMPP Server for iPhone 中的好友列表问题【英文标题】:Buddy list issue in XMPP Server for iPhone 【发布时间】:2013-04-10 11:13:37 【问题描述】:

我可以连接到本地服务器,也可以连接到 google talk 并在 iphone 聊天客户端上显示好友和聊天,但是当我尝试获取本地服务器的好友列表时,它返回 0。

- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence 

// a buddy went offline/online

NSString *presenceType = [presence type]; // online/offline
NSString *myUsername = [[sender myJID] user];
NSString *presenceFromUser = [[presence from] user];

if (![presenceFromUser isEqualToString:myUsername]) 


 if ([presenceType isEqualToString:@"available"]) 

 [_chatDelegate newBuddyOnline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"ip address"]];

 else if ([presenceType isEqualToString:@"unavailable"]) 

 [_chatDelegate buddyWentOffline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"ip address"]];





这里的ip地址是我的服务器名 请帮忙!

请帮帮我!!!

【问题讨论】:

可以澄清一些事情:您是否在您的 iPhone 上运行您的 XMPP 服务器(“XMPP Server for iPhone”)?我是否正确理解您可以在 Google Talk 上看到好友,但您不能在本地服务器上看到好友? 是的,你说得对,我可以看到谈话伙伴,但看不到本地服务器的伙伴。我们的服务器端有任何配置问题吗?我不能说那里的确切问题是什么,因为不知道更多关于 XMPP 服务器的服务器端配置 你的服务器支持名册吗?您是否尝试过使用另一个客户端连接到您的服务器并看到它按预期工作? 【参考方案1】:

它只告诉你某人何时上线或下线,根据此代码,任何好友何时上线 委托方法“newBuddyOnline”将被触发,当某人下线时,委托方法“buddyWentOffline”将被触发。 连接xmpp流后上线时,可以通过将好友添加到数组来获取所有好友的列表

【讨论】:

以上是关于XMPP Server for iPhone 中的好友列表问题的主要内容,如果未能解决你的问题,请参考以下文章

Vines for XMPP Server 而不是其他解决方案

iPhone中的XMPP后台连接

iPhone Jabber/XMPP 客户端...“TURN 连接失败”

XMPP - iphone sdk 中的用户搜索?在 iphone sdk 中使用 XEP-0055?

如何创建与 android 聊天应用程序通信的节点 xmpp 服务器

如何在 iphone sdk 的 xmpp 中发送带有消息的笑脸/情感(图像)?