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 回答