我正在使用XMPP框架在iPhone上创建聊天应用程序。我可以接收到消息,但无法发送消息。有人能给我解决方案吗?
我正在使用XMPP框架在iPhone上创建聊天应用程序。我可以接收到消息,但无法发送消息。有人能给我解决方案吗?
- (void)sendMessage:(NSString *)msgContent
{
NSString *messageStr = textField.text;
if([messageStr length] > 0)
{
NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
[body setStringValue:messageStr];
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:[jid full]];
[message addChild:body];
[xmppStream sendElement:message];
}
}
在你的ChatViewController中使用上述代码...对我来说它工作得很好。
XMPPUserCoreDataStorage *user = [[self fetchedResultsController] objectAtIndexPath:indexPath];
NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
[body setStringValue:strSendMsg];
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:[user.jid full]];
[message addChild:body];
[[self xmppStream] sendElement:message];
如果您正在使用XMPP iPhone示例应用程序...您可以使用以下内容,它应该能帮助您入门:
NSString *msgText = @"test reply";
XMPPMessage* msg = [[XMPPMessage alloc] initWithType:@"chat" to:[XMPPJID jidWithString:displayName]];
[msg addBody:msgText];
[_xmppStream sendElement:msg];
请在iPhoneXMPPAppDelegate.m文件中的xmppStream委托方法里,紧跟着他们已经放置的alert下方,插入如下内容:
-(void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message
这将自动向最初发送消息的jid回复"测试回复"
祝你好运!
Swift 3的答案:
let user = XMPPJID(string: "user@example.com")
let msg = XMPPMessage(type: "chat", to: user)
msg?.addBody("test message")
self.xmppStream.send(msg)