XMPP FileTransfer - Почему происходит сбой протокола потока байтов?

Мой вопрос: Я делаю передачу файлов через XMPP на Android и iOS клиенту Spark (Spark 2.6.3). Я успешно выполнил это на Android (из-за хороших библиотек), но до сих пор на iOS. Тем не менее, на обоих устройствах я заметил, что передача завершается неудачно через потоки ...

Could not establish socket with any provided host

На Android передача завершается, прибегая к ibb ...


Кроме того, в Android, когда я отправляю файл из Spark в мое приложение для Android, он, кажется, работает нормально через bytesreams.

Поэтому на iOS мне пришлось бы самому кодировать соединение ibb, но с какой стати байт-потоки вообще перестали работать?

Full Logs (приложение для Android):

05-15 13:42:04.023: I/System.out(523): 01:42:04 PM RCV  (1093423288): http://jabber.org/protocol/bytestreamshttp://jabber.org/protocol/ibb
05-15 13:42:04.040: I/System.out(523): 01:42:04 PM SENT (1093423288): 
05-15 13:42:04.060: I/System.out(523): 01:42:04 PM RCV  (1093423288): 
05-15 13:42:04.080: I/System.out(523): 01:42:04 PM SENT (1093423288): 
05-15 13:42:04.090: I/System.out(523): 01:42:04 PM RCV  (1093423288): 
05-15 13:42:04.100: I/System.out(523): 01:42:04 PM SENT (1093423288): 
05-15 13:42:04.110: I/System.out(523): 01:42:04 PM RCV  (1093423288): 
05-15 13:42:04.130: I/System.out(523): 01:42:04 PM RCV  (1093423288): 
05-15 13:42:04.160: I/System.out(523): 01:42:04 PM SENT (1093423288): 
05-15 13:42:04.170: I/System.out(523): 01:42:04 PM RCV  (1093423288): 
05-15 13:42:04.190: I/System.out(523): 01:42:04 PM SENT (1093423288): 
05-15 13:42:04.200: I/System.out(523): 01:42:04 PM RCV  (1093423288): 
05-15 13:42:04.210: I/System.out(523): 01:42:04 PM SENT (1093423288): 
05-15 13:42:04.230: I/System.out(523): 01:42:04 PM RCV  (1093423288): 
05-15 13:42:04.240: I/System.out(523): 01:42:04 PM SENT (1093423288): 
05-15 13:42:04.250: I/System.out(523): 01:42:04 PM RCV  (1093423288): 
05-15 13:42:04.330: I/System.out(523): 01:42:04 PM SENT (1093423288): 
05-15 13:42:04.341: I/System.out(523): 01:42:04 PM RCV  (1093423288): 
05-15 13:42:04.350: I/System.out(523): 01:42:04 PM SENT (1093423288): 
05-15 13:42:04.400: D/dalvikvm(523): GC_CONCURRENT freed 361K, 5% free 9330K/9799K, paused 5ms+4ms
05-15 13:42:09.412: I/System.out(523): 01:42:09 PM RCV  (1093423288): Could not establish socket with any provided host
05-15 13:42:09.430: I/System.out(523): 01:42:09 PM SENT (1093423288): 
05-15 13:42:09.451: I/System.out(523): 01:42:09 PM RCV  (1093423288): 
05-15 13:42:09.470: I/System.out(523): 01:42:09 PM SENT (1093423288): SGVsbG8sIEFuZHkh
05-15 13:42:09.480: I/System.out(523): 01:42:09 PM RCV  (1093423288): 
05-15 13:42:09.490: I/System.out(523): 01:42:09 PM SENT (1093423288): 
05-15 13:42:09.500: I/System.out(523): 01:42:09 PM RCV  (1093423288): 

Full Logs (приложение для iOS):

2012-05-16 10:41:16.988 JabberClient[392:207] RECIEVED IN APP DELEGATE - http://jabber.org/protocol/bytestreams
2012-05-16 10:41:16.989 JabberClient[392:207] Attempting XEP65 connection to friendsUsername@beta.myCompany.co.uk/Spark 2.6.3
2012-05-16 10:41:16.990 JabberClient[392:207] TURNSocket DELEGATE STARTING
2012-05-16 10:41:16.991 JabberClient[392:5307] SENT - 
2012-05-16 10:41:16.999 JabberClient[392:5307] RECIEVED IN TURN SOCKET - 
2012-05-16 10:41:17.000 JabberClient[392:5307] SENT - 
2012-05-16 10:41:17.004 JabberClient[392:5007] RECIEVED IN TURN SOCKET - 
2012-05-16 10:41:17.005 JabberClient[392:5007] SENT - 
2012-05-16 10:41:17.008 JabberClient[392:5007] RECIEVED IN TURNSOCKET - 
2012-05-16 10:41:17.009 JabberClient[392:5007] SENT - 
2012-05-16 10:41:27.027 JabberClient[392:540b] RECIEVED IN TURN SOCKET - Could not establish socket with any provided host
2012-05-16 10:41:27.028 JabberClient[392:540b] TURN Connection failed!

Настройки OpenFire XMPP -

xmpp.auth.anonymous - true
xmpp.client.compression.policy - disabled
xmpp.client.idle -1
xmpp.client.idle.ping - false
xmpp.domain - beta.myCompany.co.uk
xmpp.enabled - true
xmpp.externalip - proxy.beta.myCompany.co.uk
xmpp.offline.quota - 102400
xmpp.offline.type - bounce
xmpp.proxy.enabled - true
xmpp.proxy.port - 7777
xmpp.proxy.transfer.required - true
xmpp.server.compression.policy - disabled
xmpp.server.socket.active - true
xmpp.session.conflict-limit - 0
xmpp.session.conflict.limit - 0
xmpp.socket.ssl.active - true

Обновление 19 мая: Ниже приведены некоторые журналы, из которых Спарк успешно отправляет на андроид (а не наоборот). Используемый streamhost не является прокси! Тем не менее, мне еще не удалось воспроизвести это на iOS, и неужели я должен? Разве прокси не должен работать?

RCV  (1079219752): 
SENT (1079219752): 

Обратите внимание, что если я попытаюсь отправить из Spark в мое приложение для iOS, когда используется не прокси-сервер streamhost, соединение будет отклонено! (как в пункте 6 этого документа протокола SOCKS версии 5 ). Rep - это 5 в следующем коде (но это должно быть 0).

UInt8 ver = [NSNumber extractUInt8FromData:data atOffset:0];
UInt8 rep = [NSNumber extractUInt8FromData:data atOffset:1];

Файл Hosts: (примечание: я заменил некоторые числа на x для этого вопроса stackoverflow)

127.0.0.1       localhost
10.95.xxx.xxx   intranet.myCompany.co.uk
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost
10.95.xxx.xxx   beta.myCompany.co.uk

10
задан 16 revs 12 June 2012 в 08:21
поделиться