XMPPFramework – 如何将图像从一台设备传输到另一台设备?

我已经使用XMPP协议进行了一对一的聊天。 现在,我想在我的应用程序中发送图像和video。 我研究了文件传输,但是我没有find解决scheme。 我也使用下面的代码来连接Socket。

请告诉我如何才能做到这一点。

[TURNSocket setProxyCandidates:@[@"MyserverHost-desktop"]]; XMPPJID *jid = [XMPPJID jidWithString:@"1254225445@MyserverHost-desktop"]; TURNSocket *turnSocket = [[TURNSocket alloc] initWithStream:[[self appDelegate]xmppStream] toJID:jid]; [app.turnSocketArray addObject:turnSocket]; [turnSocket startWithDelegate:self delegateQueue:dispatch_get_main_queue()]; [turnSocket release]; - (void)turnSocket:(TURNSocket *)sender didSucceed:(GCDAsyncSocket *)socket { } - (void)turnSocketDidFail:(TURNSocket *)sender { } 

每次连接失败的方法调用..

谢谢。

您需要将图像推送到服务器,并且您将从服务器获得一个url,然后您可以通过xmpp协议将该url发送到另一个设备。 到底。 通过收到的url从服务器下载图片。

xmpp也可以发送图像。 但这是xml服务器的一个很大的XML消息。这不是一个好的解决scheme。

尝试这个…

 NSData *dataF = UIImagePNGRepresentation(SendImage); NSString *imgStr=[dataF base64Encoding]; NSXMLElement *body = [NSXMLElement elementWithName:@"body"]; [body setStringValue:messageStr]; NSXMLElement *imgAttachement = [NSXMLElement elementWithName:@"attachment"]; [imgAttachement setStringValue:imgStr]; NSXMLElement *message = [NSXMLElement elementWithName:@"message"]; [message addAttributeWithName:@"type" stringValue:@"chat"]; [message addAttributeWithName:@"to" stringValue:chatWithUser]; [message addChild:body]; [message addChild:imgAttachement]; [self.xmppStream sendElement:message]; 

我希望这能帮到您…