2013-04-10 1 views
0

로컬 서버와 Google 대화에 연결하여 대화 상대를 표시하고 아이폰 채팅 클라이언트에서 채팅 할 수 있지만 내 로컬 서버의 버디 목록을 가져 오려고 할 때 그것은 0iPhone 용 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 서버 ("iPhone 용 XMPP 서버")를 실행합니까? Google 토크에서 친구를 볼 수 있지만 내 서버에서 친구를 볼 수 없다는 것을 올바르게 이해합니까? –

+0

그래, 네가 맞아, 나는 대화 친구를 볼 수 있지만 로컬 서버의 친구들은 볼 수 없다. 거기에 우리의 서버 측면에서 어떤 구성 문제가 있습니까 ?? 내가 XMPP 서버에 대한 서버 측 구성에 대해 더 모르기 때문에 정확한 문제가 무엇인지 말할 수 없다. – Apple

+0

서버가 명단을 지원합니까? 다른 클라이언트와 서버에 연결을 시도했는데 예상대로 작동하는 것을 보았습니까? –

답변

0

이 코드에 따르면, 어떤 사람이 온라인 위임자가 될 때 'newBuddyOnline'이 (가) 해고되고 다른 사람이 오프라인으로 전환 될 때 대리자 메서드 'buddyWentOffline'이 (가) 해고 될 때까지 온라인 상태가되거나 오프라인이 될 때 알려줍니다. . xmpp 스트림에 연결 한 후 온라인 상태 일 때 배열에 친구를 추가하여 모든 친구 목록을 얻을 수 있습니다.