Я пытаюсь разработать приложение для чата, используя платформу xmpp для ios. Я получаю следующую ошибку. На самом деле я могу отправить детали изображения. Когда я отправляю изображение со своего iPhone в Spark, оно показывает имя и размер изображения. Но когда я принимаю это изображение, данные не передаются.
2014-05-12 11:08:15:310 iPhoneXMPP[407:5d2f] RECV: <iq xmlns="jabber:client" id="4F89EF6C-4A7B-469C-AF0A-B3AD751C1C5E" to="rumit@imt-110/5d4aec79" from="paresh@imt-110/Spark 2.6.3" type="error"><query xmlns="http://jabber.org/protocol/bytestreams" sid="" mode="tcp"><streamhost jid="proxy.imt-110" host="192.168.0.145" port="7777"/></query><error code="406" type="MODIFY"><not-acceptable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>
2014-05-12 11:08:15:310 iPhoneXMPP[407:60b] iPhoneXMPPAppDelegate: xmppStream:didReceiveIQ:
2014-05-12 11:08:15.311 iPhoneXMPP[407:60b] Couldn't set up bytestream for file transfer! --- <TURNSocket: 0xb077140>
См. Мой код ниже для отправки изображения.
- (void)sendToOtherDevice:(NSData *)fileData2 receiverJid:(NSString *)receiverJid
{
XMPPJID *jid = [XMPPJID jidWithString:receiverJid];
if ([jid.domain isEqualToString:@"Rumit@imt-110"]) {
[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:jid.domain, nil]];
} else {
[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:jid.domain, @"Rumit@imt-110", nil]];
}
TURNSocket *socket = [[TURNSocket alloc] initWithStream:[[self appDelegate] xmppStream] toJID:jid sid:[[self appDelegate] sidVal]];
socket.fileName = @"defaultPerson.png";
socket.fileData = fileData2;
[socket startWithDelegate:self delegateQueue:dispatch_get_main_queue()];
[[[self appDelegate] xmppStream] addDelegate:self delegateQueue:dispatch_get_main_queue()];
}
Должен ли я что-то писать в методе didreceiveIQ?? Потому что это вызывается, когда я нажимаю принять от искры.
Заранее спасибо.
fileData2
нулю? - person Larme   schedule 12.05.2014