FileTransfer с использованием XmppFrameWork в IOS
я реализовал некоторый код передачи файлов, используя этот учебник:
и код, который я использую:
- (void)sendToOtherDevice:(NSData *)fileData receiverJid:(NSString *)receiverJid
{
XMPPJID *jid = [XMPPJID jidWithString:receiverJid];
XMPPSIFileTransfer *sifiletransfer = [[XMPPSIFileTransfer alloc] init];
[sifiletransfer initiateFileTransferTo:jid withData:fileData];
NSString *s = [NSString stringWithFormat:@"%@/spark",receiverJid];
NSString *jabbarID = [[[[self appDelegate] xmppStream] myJID] bare];
XMPPJID *senderjid = [XMPPJID jidWithString:jabbarID];
//[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:s, nil]];
// [TURNSocket setProxyCandidates:[NSArray arrayWithObjects:s,jabbarID, nil]];
[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:jid.domain,senderjid.domain, nil]];
// [TURNSocket setProxyCandidates:[NSArray arrayWithObjects:jid.domain, nil]];
//[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:@"111.11.111.111", nil]];
TURNSocket *socket1 = [[TURNSocket alloc] initWithStream:[self xmppStream] toJID:jid];
// [turnSockets addObject:turnSocket];
[socket1 startWithDelegate:self delegateQueue:dispatch_get_main_queue()];
}
-(void)turnSocket:(TURNSocket *)sender didSucceed:(GCDAsyncSocket *)socket
{
[socket writeData:photoData withTimeout:60.0f tag:0];
[socket disconnectAfterWriting];
}
- (void)turnSocketDidFail:(TURNSocket *)sender
{
NSLog(@"Couldn't set up bytestream for file transfer!");
}
затем при запуске этого кода я получу следующие XMLStangas:
Получение логов в конце Android:
12-03 10:26:59.359: D/SMACK(2021): 10:26:59 AM RCV (1095046240): http://jabber.org/protocol/bytestreams
12-03 10:26:59.399: I/Insert(2021): insert data with file name ===========4_9.jpg
12-03 10:27:01.749: I/Kadhir(2021): 4_9.jpg downloading started
12-03 10:27:01.779: D/SMACK(2021): 10:27:01 AM SENT (1095046240): http://jabber.org/protocol/bytestreams
12-03 10:27:02.039: D/SMACK(2021): 10:27:02 AM RCV (1095046240):
12-03 10:27:02.049: D/SMACK(2021): 10:27:02 AM SENT (1095046240):
12-03 10:27:02.739: D/SMACK(2021): 10:27:02 AM RCV (1095046240):
12-03 10:30:02.759: D/SMACK(2021): 10:30:02 AM RCV (1095046240):
12-03 10:30:02.779: D/SMACK(2021): 10:30:02 AM SENT (1095046240):
12-03 10:30:12.259: D/SMACK(2021): 10:30:12 AM SENT (1095046240): Could not establish socket with any provided host
Отправка журналов на IOS заканчивается:
2013-12-03 10:21:41:731 iPhoneXMPP[525:3523] SEND: enter message here..
2013-12-03 10:21:53.987 iPhoneXMPP[525:a0b] Sender ID is ==== kadhirsduos@ip-10-123-60-876/smack
2013-12-03 10:21:53:990 iPhoneXMPP[525:3523] SEND: http://jabber.org/protocol/bytestreams
2013-12-03 10:21:56:721 iPhoneXMPP[525:5407] RECV: http://jabber.org/protocol/bytestreams
2013-12-03 10:21:56:721 iPhoneXMPP[525:a0b] iPhoneXMPPAppDelegate: xmppStream:didReceiveIQ:
2013-12-03 10:21:56.721 iPhoneXMPP[525:5407] didRecieveIQ*****************
2013-12-03 10:21:56.722 iPhoneXMPP[525:5407] IQ type === result
2013-12-03 10:21:56.723 iPhoneXMPP[525:5407] IQ type === si
2013-12-03 10:21:56.723 iPhoneXMPP[525:5407] IQ type === result/si
2013-12-03 10:21:56:724 iPhoneXMPP[525:5217] SEND:
2013-12-03 10:21:56:725 iPhoneXMPP[525:5217] SEND:
2013-12-03 10:21:56:965 iPhoneXMPP[525:5407] RECV:
2013-12-03 10:21:56:966 iPhoneXMPP[525:a0b] iPhoneXMPPAppDelegate: xmppStream:didReceiveIQ:
2013-12-03 10:21:56.966 iPhoneXMPP[525:5217] didRecieveIQ*****************
2013-12-03 10:21:56:967 iPhoneXMPP[525:3523] SEND:
2013-12-03 10:21:56.967 iPhoneXMPP[525:5217] IQ type === result
2013-12-03 10:21:57:087 iPhoneXMPP[525:5217] RECV:
2013-12-03 10:21:57:088 iPhoneXMPP[525:a0b] iPhoneXMPPAppDelegate: xmppStream:didReceiveIQ:
2013-12-03 10:21:57.089 iPhoneXMPP[525:3523] didRecieveIQ*****************
2013-12-03 10:21:57.090 iPhoneXMPP[525:3523] IQ type === result
2013-12-03 10:21:57:205 iPhoneXMPP[525:3523] RECV:
2013-12-03 10:21:57:205 iPhoneXMPP[525:a0b] iPhoneXMPPAppDelegate: xmppStream:didReceiveIQ:
2013-12-03 10:21:57:206 iPhoneXMPP[525:5217] SEND:
2013-12-03 10:21:57.206 iPhoneXMPP[525:5407] didRecieveIQ*****************
2013-12-03 10:21:57.208 iPhoneXMPP[525:5407] IQ type === result
2013-12-03 10:21:57:325 iPhoneXMPP[525:5407] RECV:
2013-12-03 10:21:57:326 iPhoneXMPP[525:a0b] iPhoneXMPPAppDelegate: xmppStream:didReceiveIQ:
2013-12-03 10:21:57:327 iPhoneXMPP[525:5407] SEND:
2013-12-03 10:21:57.326 iPhoneXMPP[525:3523] didRecieveIQ*****************
2013-12-03 10:21:57.329 iPhoneXMPP[525:3523] IQ type === result
2013-12-03 10:23:16.726 iPhoneXMPP[525:a0b] SOCKS5 Connection failed!
2013-12-03 10:25:07:188 iPhoneXMPP[525:3523] RECV: Could not establish socket with any provided host
2013-12-03 10:25:07:189 iPhoneXMPP[525:a0b] iPhoneXMPPAppDelegate: xmppStream:didReceiveIQ:
2013-12-03 10:25:07.189 iPhoneXMPP[525:3523] didRecieveIQ*****************
в этом я никогда не вызывался метод turnSocket: didSuccedd. Может кто-нибудь сказать мне о том, что я скучаю. Пожалуйста помоги.