[英]How to setup my xmpp server with ejabberd in iOS
ejabberd
我安装了该建议一步步最新ejabberd和设置主机名状jyhu
使用类似test@jyhu
。
xmpp
我从github下载了最新的XMPPFramework。
iOS
设置以下项目:
init xmppStream
self.xmppStream = [[XMPPStream alloc] init]; [self.xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()]; [self.xmppStream setHostName:@"127.0.0.1"]; [self.xmppStream setHostPort:5280];
setup JID
[self.xmppStream setMyJID:[XMPPJID jidWithString:self.userName]];
connect
if (![self.xmppStream connectWithTimeout:XMPPStreamTimeoutNone error:&error]) { NSLog(@"%@", [error userInfo]); }
然后设置一些相关的委托方法。
当我运行项目时,ejabberd日志显示如下
2015-08-28 10:45:29.890 [info] <0.436.0> @ejabberd_listener:accept:299(#Port <0.3800>)接受的连接127.0.0.1:62419-> 127.0.0.1:5280 2015-08-28 10:45:29.890 [info] <0.442.0> @ejabberd_http:init:157已启动:{gen_tcp,#Port <0.3800>}
代表将去:
- (void)xmppStreamWillConnect:(XMPPStream *)sender
- (void)xmppStream:(XMPPStream *)sender socketDidConnect:(GCDAsyncSocket *)socket
- (void)xmppStreamDidStartNegotiation:(XMPPStream *)sender
- (void)xmppStreamDidDisconnect:(XMPPStream *)sender withError:(NSError *)error
但是,最重要的方法
- (void)xmppStreamDidConnect:(XMPPStream *)sender
将永远不会执行。
您试图在端口5280上连接,该端口保留用于XMPP Bosh和Websocket传输。 您可能希望改为连接标准XMPP端口5222。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.