2015-07-20 99 views
0

無法登錄,這是我的代碼,大約XMPP登錄XMPP可以登錄iOS上的模擬器,但在iPhone上

- (void)connect{ 
    if (self.xmppStream == nil) { 
     self.xmppStream = [[XMPPStream alloc] init]; 
     [self.xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()]; 

    } 

    if (![self.xmppStream isConnected]) { 
     XMPPJID *jid = [XMPPJID jidWithUser:_userName.text domain:@"kwjdemacbook-pro.local" resource:nil]; 
     [self.xmppStream setMyJID:jid]; 
     [self.xmppStream setHostName:@"192.168.16.74"]; 
     NSError *error = nil; 
     if (![self.xmppStream connectWithTimeout:20.0 error:&error]) { 
      NSLog(@"connect Error:%@",[[error userInfo] description]); 
     } 
    } 
} 

- (void)xmppStreamDidConnect:(XMPPStream *)sender{ 
    NSError *error = nil; 
    if (![self.xmppStream authenticateWithPassword:@"123456" error:&error]) { 
     NSLog(@"Authenticate Error:%@",[[error userInfo] description]); 
    } 
} 

XMPP可以登陸iOS上的模擬器和發送mesage但iPhone無法登錄。

+0

我的電腦的IP:192.168.16.74掩碼:255.255.255.0我的iPhone連接我的電腦wifi和我的iphone IP :192.168.2.4 –

+0

我改變[self.xmppStream setHostName:@「192.168.2.1」];結果相同 –

+1

您確定您的iPhone與本地Mac服務器位於同一網絡嗎?你確定Mac的端口沒有被防火牆阻止嗎?這看起來像是一個網絡配置問題。 –

回答

0

我想你錯過設置端口號XMPPStream,

試試這個,

- (void)connect{ 
    if (self.xmppStream == nil) { 
     self.xmppStream = [[XMPPStream alloc] init]; 
     [self.xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()]; 

    } 

    if (![self.xmppStream isConnected]) { 
     XMPPJID *jid = [XMPPJID jidWithUser:_userName.text domain:@"kwjdemacbook-pro.local" resource:nil]; 
     [self.xmppStream setMyJID:jid]; 
     [self.xmppStream setHostName:@"192.168.16.74"]; 

    // setPort number of your openfire server 
[self.xmppStream setHostPort:5222]; 
     NSError *error = nil; 
     if (![self.xmppStream connectWithTimeout:20.0 error:&error]) { 
      NSLog(@"connect Error:%@",[[error userInfo] description]); 
     } 
    } 
} 
+0

我曾嘗試過,但無法連接上iphone –

相關問題