簡體   English   中英

如何在iOS中使用ejabberd設置我的xmpp服務器

[英]How to setup my xmpp server with ejabberd in iOS

  • ejabberd我安裝了該建議一步步最新ejabberd和設置主機名狀jyhu使用類似test@jyhu

  • xmpp我從github下載了最新的XMPPFramework。

  • iOS設置以下項目:

    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]); } 

然后設置一些相關的委托方法。

當我運行項目時,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>}

代表將去:

  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將永遠不會執行。

您試圖在端口5280上連接,該端口保留用於XMPP Bosh和Websocket傳輸。 您可能希望改為連接標准XMPP端口5222。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM