didReceiveMessage XMPP不叫
问题描述:
我是新来的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);
}
}
我在哪里犯错? 请帮助和提前致谢!
答
您正在发送无效的JID(Jabber ID)。
[message addAttributeWithName:@"to" stringValue:@"testuser1"];
必须像
[message addAttributeWithName:@"to" stringValue:@"[email protected]"];
短FAQ
thanx您答,但仍然无法工作 –
并非所有的服务器允许将消息发送到自己。但是一定要有正确的配置(serverName不是serverHost,所以127.0.0.1会失败大多数时间)并尝试记录完整的消息以检查你创建了什么。我没有看到“来自”,也不知道框架是否自动添加,例如 – MrPk
我的服务器名称是localhost –