我是一个ejabberd的新手。我想通过我的iOS应用程序在服务器上添加新用户。 我尝试了许多从谷歌上找到的代码,但没有人能解决我的问题。
我将模块设置为http://localhost:5280/admin/server/localhost/node/ejabberd@localhost/modules/
要启用mod_register
,还需要更改etc/ejabberd
文件夹中的ejabberd.yml
文件。
而我的ejabberd@localhost上已监听的端口如下:
我使用以下代码来注册用户。
NSXMLElement *query = [NSXMLElement elementWithName:@"query" xmlns:@"jabber:iq:register"];
[query addChild:[NSXMLElement elementWithName:@"username" stringValue:@"syam"]];
[query addChild:[NSXMLElement elementWithName:@"password" stringValue:@"Vrin@123"]];
NSXMLElement *iq = [NSXMLElement elementWithName:@"iq"];
[iq addAttributeWithName:@"type" stringValue:@"set"];
[iq addAttributeWithName:@"id" stringValue:@"reg2"];
[iq addChild:query];
[APP_DELEGATE.xmppStream sendElement:iq];
[APP_DELEGATE.xmppStream setHostName:@"0.0.0.0"];
[APP_DELEGATE.xmppStream setHostPort:5222];
NSError *error;
if (![APP_DELEGATE.xmppStream connectWithTimeout:XMPPStreamTimeoutNone error:&error]) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error connecting"
message:@"See console for error details."
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alertView show];
}
但是没有成功,出现了以下错误信息。
<iq xmlns="jabber:client" from="himanshu@localhost" to="himanshu@localhost/15505992182228745748626" type="error" id="reg2"><query xmlns="jabber:iq:register"><username>syam</username><password>Vrin@123</password></query><error code="503" type="cancel"><service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></service-unavailable><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">没有模块处理此查询</text></error></iq>
请帮我解决我的问题。