0
ios 용 xmpp 프레임 워크를 사용하여 채팅 응용 프로그램을 개발하고 있습니다. 다음과 같은 오류가 발생했습니다. 사실 이미지의 세부 정보를 보낼 수 있습니다. iPhone에서 이미지를 보내면 이미지의 이름과 크기가 표시됩니다. 그러나 그 이미지를 받아들이면 데이터가 전송되지 않습니다.iPhone에서 Xmpp 이미지 전송
2014-05-12 11:08:15:310 iPhoneXMPP[407:5d2f] RECV: <iq xmlns="jabber:client" id="4F89EF6C-4A7B-469C-AF0A-B3AD751C1C5E" to="[email protected]/5d4aec79" from="[email protected]/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:@"[email protected]"]) {
[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:jid.domain, nil]];
} else {
[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:jid.domain, @"[email protected]", 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 메서드에 아무것도 써야합니까 ?? 내가 스파크에서 받아 들일 때 Coz라고 부릅니다.
미리 감사드립니다.
는 fileData2'이 전무 아니었다'경우 확인 했습니까? – Larme
해당 없음 없음 .. 이미지 이름 및 크기를 스파크 얻을 수 있습니다. 이미지에 첨부 된 .. 참조하십시오. – Rythm
TURNSocket의 ** fileName ** 또는 ** fileData ** 특성이 없습니다. ** 그것이 어디서 왔는가? – jaskiratjd