didReceiveMessage XMPP未调用

时间:2016-10-20 08:02:44

标签: ios iphone ipad xmpp xmppframework

我是iOS新手并开发聊天应用, 我想在两个用户之间发起聊天,我从服务器获得了我的烘焙列表。

我现在点击发送按钮按钮创建了聊天屏幕我想将文本发送给连接的用户。

这是我的代码:

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

我在哪里弄错了? 请提前帮助和致谢!!

1 个答案:

答案 0 :(得分:0)

您正在发送无效的JID(Jabber ID)。

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

必须是

之类的东西
  [message addAttributeWithName:@"to" stringValue:@"testuser1@yourservername"];

FAQ