2

XMPPFrameworkとOpenfireをサーバーとして使用してチャットアプリケーションを開発しています。私のアプリのユーザーは、別のサーバーに登録しています。私はOpenfireサーバーをチャット通信専用に使用しています。

現在、チャットアプリのアーキテクチャに疑問があります。

ユーザーがサーバーに登録するたびに、Openfireにユーザーを追加したいと思います。このために、登録された詳細をOpenfireに挿入するサービスをサーバーに作成する必要があります。この構造は大丈夫ですか?

別の質問-iPhoneのObjective-Cを使用してOpenfireサーバーにユーザーを挿入/作成することは可能ですか?OpenfireにはこのためのAPIがありますか、それともOpenfireデータベースに挿入するためにこれの外部クエリを作成する必要がありますか?

外部サービスを使用する代わりにiPhoneアプリから挿入できる場合、使用する方法とコードへのリンクを誰かに教えてもらえますか?

4

2 に答える 2

0

XMPP でこれを行うには、インバンド登録が最適な方法であることは間違いありません。

于 2013-01-23T15:41:40.883 に答える
0

最初に、開始された xmpstream がメソッド「supportsInBandRegistration」による登録をサポートしているかどうかを確認します。登録の基本的な要件は、有効な xmpp 接続が存在することです。

登録がサポートされている場合は、要素を持つ以下の配列を作成します

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

XMPPStreamメソッドを通過させ、

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

登録の成功は、次のデリゲート メソッドで確認できます。

  - (void)xmppStreamDidRegister:(XMPPStream *)sender
于 2014-05-12T09:42:14.447 に答える