Android Smack 4.1.1 File Transfer, ERROR Could not install socket

I am trying to send files through my Android application using the smack 4.1.1 library, although I have some errors for this. The fact is, I don’t know why it simply sends files to the device, but after that it does not allow me to send to other users, and others cannot send to other users, for example, the first time I opened the listener with one device, this a device can and can send files to only one device (the first thing it is sent), but the one that receives cannot, the file seems to arrive, but with 0 data, or maybe it does not arrive, and only when it causes an error, I'm not sure, but after a while I I know that the connection or something breaks and I can send files to any other device, but not another, only one. and others get this error:

I also test it with a spark, and I can receive files differently from the spark, even if when sending the file so that it sparks, it also shows an error with the spark.

Magazines

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=" +10000000000@example.com /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=" +10000000000@example.com /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=" +10000000000@example.com /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=" +10000000000@example.com /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=" +10000000000@example.com /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='+1111 1111111@example.com /Example' id='36V0P-189' type='set'><query xmlns='http://jabber.org/protocol/bytestreams' sid='jsi_3989032673038256169' mode='tcp'><streamhost jid=' +10000000000@example.com /Example' host='fe80::5054:ff:fe12:3456%eth0' port='7777'/><streamhost jid=' +10000000000@example.com /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=" +10000000000@example.com /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=" +10000000000@example.com /Example" id="36V0P-189" type="error" from=" +11111111111@example.com /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=' +11111111111@example.com /Example' id='36V0P-193' type='set'><open xmlns='http://jabber.org/protocol/ibb' block-size='4096' sid='jsi_3989032673038256169' stanza='iq'/></iq> 

This is really strange, I really don't know what I'm doing wrong. look at my code

SEND FILE:

 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(); } } 

GETTING FILES:

public static void setFileTransferListener (Connection 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(); } } }); } 

I would like to read any answer or hint. I was stuck on this for 2 days D: I really need help: /.

The port is forwarded as if I said that it works with a single device or first thing, which first opens the listener.

+1
source share
1 answer

I hope this helps someone, the api works fine, although we need to change some properties on our openfire server:

 1. xmpp.proxy.enabledtrue 2. xmpp.proxy.port – 7777 (7777 is the default but could be another) 3. xmpp.proxy.externalip – (host or ip) 

At a time when it works very well, more tests need to be done, although I am mistaken if someone provides any other information to fix this.

+3
source

All Articles