9

I am creating a chat application using XMPP Framework in iphone. i could get received messages but i am not able to send a message. can any one give me solution for this??

4

4 に答える 4

11
- (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で使用してください..それは私にとっては正常に機能しています。

于 2011-03-02T07:00:44.000 に答える
3

これを試して :

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];
于 2010-12-20T04:50:43.440 に答える
2

xmpp iPhone サンプル アプリケーションを使用している場合は、次のようなものを使用できます。

NSString *msgText = @"test reply";

XMPPMessage* msg = [[XMPPMessage alloc] initWithType:@"chat" to:[XMPPJID jidWithString:displayName]];
[msg addBody:msgText];

[_xmppStream sendElement:msg];

これを xmppStream デリゲート メソッドのアラートのすぐ下に配置するだけです。

iPhoneXMPPAppDelegate.m:

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

これにより、最初にメッセージを送信した jid に「テスト返信」が自動的に送信されます。

GL HF!

于 2013-09-18T07:02:11.817 に答える