2015-08-28 64 views
0
  • ejabberd安装与建议一步步最新ejabberd和使用像[email protected]设置主机名像jyhu我如何设置与ejabberd我的XMPP服务器的iOS

  • xmpp我从github上下载了最新的XMPPFramework。

  • iOS安装项目fowllowing:

    1. 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]; 
      
    2. setup JID

      [self.xmppStream setMyJID:[XMPPJID jidWithString:self.userName]]; 
      
    3. connect

      if (![self.xmppStream connectWithTimeout:XMPPStreamTimeoutNone error:&error]) 
      { 
           NSLog(@"%@", [error userInfo]); 
      } 
      

然后设置一些相关型号的委托方法。

当我跑我的项目,像所示

2015年8月28日10 ejabberd日志:45:29.890 [信息] < 0.436.0> @ejabberd_listener:接受: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,#端口< 0.3800 >}

而代表将会去:

  1. - (void)xmppStreamWillConnect:(XMPPStream *)sender

  2. - (void)xmppStream:(XMPPStream *)sender socketDidConnect:(GCDAsyncSocket *)socket

  3. - (void)xmppStreamDidStartNegotiation:(XMPPStream *)sender

  4. - (void)xmppStreamDidDisconnect:(XMPPStream *)sender withError:(NSError *)error

但最重要的方法- (void)xmppStreamDidConnect:(XMPPStream *)sender将永远不会执行。

回答

0

您正尝试连接端口5280,该端口是为XMPP Bosh和Websocket传输保留的。您可能想要连接标准的XMPP端口,即5222.

相关问题