2011-11-17 3 views
2

XMPPFramework 및 Openfire를 서버로 사용하여 채팅 응용 프로그램을 개발 중입니다. 내 앱 사용자는 다른 서버에 자신을 등록합니다. Openfire 서버는 채팅 통신에만 사용됩니다.iPhone 채팅 XMPPFramework 및 Openfire 서버 사용

지금 당장은 채팅 앱의 아키텍처에 의문이 생깁니다.

사용자가 내 서버에 등록 할 때마다 Openfire에 사용자를 추가하고 싶습니다. 이를 위해 Openfire에 등록 된 세부 정보를 삽입하기 위해 서버에 서비스를 작성해야합니다. 이 구조는 괜찮습니까?

다른 질문 - iPhone에 Objective-C를 사용하여 Openfire 서버에 사용자를 삽입하거나 만들 수 있습니까? Openfire에 대한 API가 있습니까? 아니면 Openfire 데이터베이스에 삽입 할 외부 쿼리를 작성해야합니까?

외부 서비스를 사용하는 대신 iPhone 앱을 통해 삽입이 가능하면 누구나 사용 방법 및 코드에 대한 링크를 제공 할 수 있습니까?

+3

대역 내 등록 http://xmpp.org/extensions/xep-0077.html을 참조하십시오. – Marc

답변

0

XMPP에서 대역 내 등록이 가장 좋은 방법입니다.

0

초기화 된 xmpstream이 'supportsInBandRegistration'메소드를 통해 등록을 지원하는지 먼저 확인하십시오. 등록을위한 기본 요구 사항은 유효한 xmpp 연결이 있어야한다는 것입니다. 등록이 지원되는 경우

,

- (BOOL)registerWithElements:(NSArray *)elements error:(NSError **)errPtr 

등록 성공 다음 위임 방법으로 확인 될 수 있고, 소자

NSMutableArray *elements = [NSMutableArray array]; 
[elements addObject:[NSXMLElement elementWithName:@"username" stringValue:@"userName"]]; 
[elements addObject:[NSXMLElement elementWithName:@"password" stringValue:[[NSUserDefaults standardUserDefaults] valueForKey:userPassword]]]; 

함께 아래 배열을 만들고 XMPPStream 방법 통과한다.

- (void)xmppStreamDidRegister:(XMPPStream *)sender 
관련 문제