2013-04-10 56 views
0

我能夠連接到本地服務器,並且還可以在iphone聊天客戶端上顯示好友和聊天,但是當我嘗試獲取本地服務器的好友列表時,它返回0。iPhone的XMPP服務器好友列表問題

- (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地址是指我的服務器名稱 請幫幫忙!

請幫幫我!!!

+0

可以清除一些東西:您是否在iPhone上運行XMPP服務器(「XMPP服務器for iPhone」)?我是否正確理解您*可以*在Google Talk上查看好友,但您*無法*在您的本地服務器上查看好友? – 2013-04-10 16:19:14

+0

是的,你是對的,我可以看到聊天夥伴,但不是本地服務器的好友。有沒有從我們的服務器端的配置問題?我無法說出那裏有什麼確切的問題,因爲不知道更多關於XMPP服務器的服務器端配置 – Apple 2013-04-11 04:56:19

+0

您的服務器是否支持花名冊?你有沒有試過用另一個客戶端連接到你的服務器,並看到它按預期工作? – 2013-04-11 11:20:31

回答

0

它只會告訴你什麼時候有人上網或下線,根據這段代碼,當有任何好友在線時,委託方法'newBuddyOnline'將被解僱,當有人會離線時,委託方法'buddyWentOffline'將被解僱。 可以通過在連接到xmpp流後聯機時添加好友列表來獲得所有好友的列表