2010-12-01 15 views

Antwort

3

Try this:

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]; 
+0

Nichts für mich arbeiten – jaskiratjd

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]; 



    } 
} 

den obigen Code in Sie chatViewcontroller verwenden ..es für mich funktioniert gut.

+0

tut Ihre Anwendung wird dis-verbunden - als wenn ich den Wert übergeben Element senden der Zustand dis ist für mich verbunden - Sie haben keine Ahnung, wie um es zu lösen ? –

+0

@iphone Spaß: Ihre Frage ist nicht klar für mich .. jede Möglichkeit, die Sie hinzufügen können - (void) xmppStreamDidDisconnect: (XMPPStream *) Absender in Ihrer Klasse, dies wird Sie informieren, wenn Ihr Chat vom Netzwerk getrennt. – Raj

+0

Hervorragend ..! Arbeitete für mich –

2

, wenn Sie die xmpp iPhone Beispiel-Anwendung verwenden ... können Sie so etwas wie die folgenden verwenden und es sollte Ihnen den Einstieg:

NSString *msgText = @"test reply"; 

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

[_xmppStream sendElement:msg]; 

legen gerade dieses Recht unter den Alarm sie in die dort haben xmppStream Delegatmethode in

iPhoneXMPPAppDelegate.m:

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

Dies wird automatisch s beende "test reply" zurück zu der jid, die dir ursprünglich die Nachricht gesendet hat

glhf!

0

Swift 3 Antwort:

let user = XMPPJID(string: "[email protected]") 
let msg = XMPPMessage(type: "chat", to: user) 
msg?.addBody("test message") 
self.xmppStream.send(msg) 
Verwandte Themen