2016-10-20 27 views
0

我是新來的iOS和開發聊天應用程序, 我想發起兩個用戶之間的聊天,我從服務器得到我的烘焙列表。didReceiveMessage XMPP不叫

我現在發送聊天畫面上點擊發送按鈕按鈕我想發送文本給連接的用戶。

這裏是我的代碼:

- (IBAction)sendMessage:(id)sender { 
        NSXMLElement *body = [NSXMLElement elementWithName:@"body"]; 
        [body setStringValue:[NSString stringWithFormat:@"%@",msgId]]; 

        NSXMLElement *message = [NSXMLElement elementWithName:@"message"]; 
        [message addAttributeWithName:@"type" stringValue:@"chat"]; 
        [message addAttributeWithName:@"to" stringValue:@"testuser1"]; 
        [message addChild:body]; 

        [[[self appDelegate] xmppStream] sendElement:message]; 
} 

這樣didReceiveMessage後是沒有得到所謂的

- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message{ 

    NSLog(@"---------- xmppStream:didReceiveMessage: ----------"); 

    NSLog(@"--from----%@", [message from]); 

if([message isChatMessageWithBody]) 
    { 
     NSString *msg = [[message elementForName:@"body"] stringValue]; 

     NSLog(@"mmmmmmmmmmssssssgggg-%@",msg); 
    } 
} 

我在哪裏犯錯? 請幫助和提前致謝!

回答

0

您正在發送無效的JID(Jabber ID)。

[message addAttributeWithName:@"to" stringValue:@"testuser1"]; 

必須像

[message addAttributeWithName:@"to" stringValue:@"[email protected]"]; 

FAQ

+0

thanx您答,但仍然無法工作 –

+0

並非所有的服務器允許將消息發送到自己。但是一定要有正確的配置(serverName不是serverHost,所以127.0.0.1會失敗大多數時間)並嘗試記錄完整的消息以檢查你創建了什麼。我沒有看到「來自」,也不知道框架是否自動添加,例如 – MrPk

+0

我的服務器名稱是localhost –