Android Smack 4.1.1 Передача файлов, ОШИБКА Не удалось установить сокет
Я пытаюсь отправить файлы через мое приложение для Android с библиотекой smack 4.1.1, хотя у меня есть некоторые ошибки, чтобы сделать это. Дело в том, что я не знаю, почему он просто отправляет файлы на устройство, но после этого он не позволяет мне отправлять другим, и другие тоже не могут отправлять другим, например, в первый раз, когда я открыл слушатель с одним устройством это устройство может и может отправлять файлы только на одно устройство (первое, которое оно отправило), но получающее не может, файл, кажется, приходит, но с 0 данными или, возможно, он не приходит, и только когда приходит что-то вызывает ошибку, я не уверен, но через некоторое время я не знаю, обрывается ли соединение или что-то еще, и я могу отправлять файлы с любого другого устройства, но не с другого, только с одним. а остальные получают эту ошибку:
Я также тестирую его с помощью spark и могу отлично получать файлы от spark, хотя при отправке файла на spark он также показывает ошибку на spark.
бревна
06-28 17:57:54.430 3394-3758/com.example.example D/SMACK﹕ SENT (0): <iq to='example.com' id='36V0P-179' type='get'><query xmlns='http://jabber.org/protocol/disco#items'></query></iq>
06-28 17:57:54.463 3394-3759/com.example.example D/SMACK﹕ RECV (0): <iq type="result" id="36V0P-179" from="example.com" to="[email protected]/Example"><query xmlns="http://jabber.org/protocol/disco#items"><item jid="pubsub.example.com" name="Publish-Subscribe service"/><item jid="proxy.example.com" name="Socks 5 Bytestreams Proxy"/><item jid="conference.example.com" name="Public Chatrooms"/></query></iq>
06-28 17:57:54.464 3394-3758/com.example.example D/SMACK﹕ SENT (0): <iq to='pubsub.example.com' id='36V0P-181' type='get'><query xmlns='http://jabber.org/protocol/disco#info'></query></iq>
06-28 17:57:54.485 3394-3759/com.example.example D/SMACK﹕ RECV (0): <iq type="result" id="36V0P-181" from="pubsub.example.com" to="[email protected]/Example"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="pubsub" name="Publish-Subscribe service" type="service"/><feature var="http://jabber.org/protocol/pubsub"/><feature var="http://jabber.org/protocol/pubsub#access-open"/><feature var="http://jabber.org/protocol/pubsub#collections"/><feature var="http://jabber.org/protocol/pubsub#config-node"/><feature var="http://jabber.org/protocol/pubsub#create-and-configure"/><feature var="http://jabber.org/protocol/pubsub#create-nodes"/><feature var="http://jabber.org/protocol/pubsub#delete-nodes"/><feature var="http://jabber.org/protocol/pubsub#get-pending"/><feature var="http://jabber.org/protocol/pubsub#instant-nodes"/><feature var="http://jabber.org/protocol/pubsub#item-ids"/><feature var="http://jabber.org/protocol/pubsub#meta-data"/><feature var="http://jabber.org/protocol/pubsub#modify-affiliations"/><feature var="http://jabber.org/protocol/pubsub#manage-subscriptions"/><feature var="http://jabber.org/protocol/pubsub#multi-subscribe"/><feature var="http://jabber.org/protocol/pubsub#outcast-affiliation"/><feature var="http://jabber.org/protocol/pubsub#persistent-items"/><feature var="http://jabber.org/protocol/pubsub#presence-notifications"/><feature var="http://jabber.org/protocol/pubsub#publish"/><feature var="http://jabber.org/protocol/pubsub#publisher-affiliation"/><feature var="http://jabber.org/protocol/pubsub#purge-nodes"/><feature var="http://jabber.org/protocol/pubsub#retract-items"/><feature var="http://jabber.org/protocol/pubsub#retrieve-affiliations"/><feature var="http://jabber.org/protocol/pubsub#retrieve-default"/><feature var="http://jabber.org/protocol/pubsub#retrieve-items"/><feature var="http://jabber.org/protocol/pubsub#retrieve-subscriptions"/><feature var="http://jabber.org/protocol/pubsub#subscribe"/><feature var="http://jabber.org/protocol/pubsub#subscription-options"/><feature var="http://jabber.org/protocol/disco#info"/></query></iq>
06-28 17:57:54.486 3394-3758/com.example.example D/SMACK﹕ SENT (0): <iq to='proxy.example.com' id='36V0P-183' type='get'><query xmlns='http://jabber.org/protocol/disco#info'></query></iq>
06-28 17:57:54.501 3394-3759/com.example.example D/SMACK﹕ RECV (0): <iq type="result" id="36V0P-183" from="proxy.example.com" to="[email protected]/Example"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="proxy" name="SOCKS5 Bytestreams Service" type="bytestreams"/><feature var="http://jabber.org/protocol/bytestreams"/><feature var="http://jabber.org/protocol/disco#info"/></query></iq>
06-28 17:57:54.502 3394-3758/com.example.example D/SMACK﹕ SENT (0): <iq to='conference.example.com' id='36V0P-185' type='get'><query xmlns='http://jabber.org/protocol/disco#info'></query></iq>
06-28 17:57:54.518 3394-3759/com.example.example D/SMACK﹕ RECV (0): <iq type="result" id="36V0P-185" from="conference.example.com" to="[email protected]/Example"><query xmlns="http://jabber.org/protocol/disco#info"><identity category="conference" name="Public Chatrooms" type="text"/><identity category="directory" name="Public Chatroom Search" type="chatroom"/><feature var="http://jabber.org/protocol/muc"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="http://jabber.org/protocol/disco#items"/><feature var="jabber:iq:search"/><feature var="http://jabber.org/protocol/rsm"/></query></iq>
06-28 17:57:54.523 3394-3758/com.example.example D/SMACK﹕ SENT (0): <iq to='proxy.example.com' id='36V0P-187' type='get'><query xmlns='http://jabber.org/protocol/bytestreams'/></iq>
06-28 17:57:54.537 3394-3759/com.example.example D/SMACK﹕ RECV (0): <iq type="result" id="36V0P-187" from="proxy.example.com" to="[email protected]/Example"><query xmlns="http://jabber.org/protocol/bytestreams"><streamhost jid="proxy.example.com" host="198.105.244.228" port="7777"/></query></iq>
06-28 17:57:54.539 3394-3758/com.example.example D/SMACK﹕ SENT (0): <iq to='[email protected]/Example' id='36V0P-189' type='set'><query xmlns='http://jabber.org/protocol/bytestreams' sid='jsi_3989032673038256169' mode='tcp'><streamhost jid='[email protected]/Example' host='fe80::5054:ff:fe12:3456%eth0' port='7777'/><streamhost jid='[email protected]/Example' host='10.0.2.15' port='7777'/><streamhost jid='proxy.example.com' host='198.105.244.228' port='7777'/></query></iq>
06-28 17:57:59.564 3394-3759/com.example.example D/SMACK﹕ RECV (0): <iq type="get" id="843-84" from="example.com" to="[email protected]/Example"><ping xmlns="urn:xmpp:ping"/></iq>
06-28 17:57:59.566 3394-3758/com.example.example D/SMACK﹕ SENT (0): <iq to='example.com' id='843-84' type='result'></iq>
06-28 17:58:01.304 3394-3759/com.example.example D/SMACK﹕ RECV (0): <iq to="[email protected]/Example" id="36V0P-189" type="error" from="[email protected]/Example"><error type="cancel"><item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">Could not establish socket with any provided host</text></error></iq>
06-28 17:58:01.308 3394-3758/com.example.example D/SMACK﹕ SENT (0): <iq to='[email protected]/Example' id='36V0P-193' type='set'><open xmlns='http://jabber.org/protocol/ibb' block-size='4096' sid='jsi_3989032673038256169' stanza='iq'/></iq>
это действительно странно, я действительно не знаю, что я делаю неправильно. посмотрите на мой код
ОТПРАВИТЬ ФАЙЛ:
public static void sendFile(String Username, String filePathAndName, AbstractXMPPConnection connection){
Log.e("FILENAMEing file", "to " + Environment.getExternalStorageDirectory() + File.separator + Example.DB_FOLDER + File.separator + "myText.jpg");
Log.e("FILENAMEing file", "to " + Username);
FileTransferManager manager = FileTransferManager.getInstanceFor(connection);
OutgoingFileTransfer transfer = manager.createOutgoingFileTransfer(Username + Example.DOMAIN + "/" + Example.APP_NAME);
try {
transfer.sendFile(new File(filePathAndName), "This is a Test!");
} catch (SmackException e) {
e.printStackTrace();
}
}
ПОЛУЧЕНИЕ ФАЙЛОВ:
public static void setFileTransferListener (Соединение AbstractXMPPConnection) {
FileTransferManager manager = FileTransferManager.getInstanceFor(connection);
// Create the listener
manager.addFileTransferListener(new FileTransferListener() {
@Override
public void fileTransferRequest(FileTransferRequest request) {
IncomingFileTransfer transfer = request.accept();
try {
File file = new File(Environment.getExternalStorageDirectory() + File.separator + Example.DB_FOLDER + File.separator + "myFile22.jpg");
transfer.recieveFile(file);
} catch (SmackException | IOException e) {
e.printStackTrace();
}
}
});
}
Я хотел бы прочитать любой ответ или подсказку. Я застрял на этом в течение 2 дней D: мне действительно нужна помощь: /.
Порт переадресовывается из-за того, что я сказал, что он работает с одним устройством или первым разработчиком, который сначала открывает слушателя, как мне кажется.