Android - Ошибка передачи файла при использовании Ejabberd и Smack - PullRequest
1 голос
/ 05 мая 2019

Я использую Smack 4.3.2 (клиент Android) и Ejabberd Server. Когда я отправляю текст, он работает очень хорошо. Но у меня проблема с передачей файлов. Когда я пытаюсь отправить файл, я получаю эту ошибку.

Я могу получить информацию о файле, например fileName, fileSize, но не могу получить файл. Когда я отправляю от =User1 до =User2, я получаю прикрепленную ошибку.

Но когда я отправляю с =User1 на =User1, это успешно.

Как я могу это исправить?

У кого-нибудь была такая ошибка? любой пример с fileTransfer с ejabberd_18 + smack4.3.2 + android?

fileTransferManager.addFileTransferListener(
    new FileTransferListener() {
        @Override
        public void fileTransferRequest(final FileTransferRequest request) {
            IncomingFileTransfer transfer = request.accept();
            final File file = new File( “/storage/sdcard/Download/” + transfer.getFileName());
            try {
                transfer.receiveFile(file);
            } catch(Exception e){
                e.printStackTrace();
            }
        }
});

Вот ошибка:

myapplication1 W/System.err: org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: item-not-found - cancel [Could not establish socket with any provided host]
05-04 21:54:21.190 9864-9924/com.example.myapplication1 W/System.err: at org.jivesoftware.smackx.bytestreams.socks5.Socks5BytestreamRequest.cancelRequest(Socks5BytestreamRequest.java:289)
05-04 21:54:21.190 9864-9924/com.example.myapplication1 W/System.err: at org.jivesoftware.smackx.bytestreams.socks5.Socks5BytestreamRequest.accept(Socks5BytestreamRequest.java:255)
05-04 21:54:21.190 9864-9924/com.example.myapplication1 W/System.err: at org.jivesoftware.smackx.filetransfer.Socks5TransferNegotiator.negotiateIncomingStream(Socks5TransferNegotiator.java:102)
05-04 21:54:21.190 9864-9924/com.example.myapplication1 W/System.err: at org.jivesoftware.smackx.filetransfer.FaultTolerantNegotiator.createIncomingStream(FaultTolerantNegotiator.java:72)
05-04 21:54:21.190 9864-9924/com.example.myapplication1 W/System.err: at org.jivesoftware.smackx.filetransfer.IncomingFileTransfer$2.call(IncomingFileTransfer.java:191)
05-04 21:54:21.190 9864-9924/com.example.myapplication1 W/System.err: at org.jivesoftware.smackx.filetransfer.IncomingFileTransfer$2.call(IncomingFileTransfer.java:186)
05-04 21:54:21.190 9864-9924/com.example.myapplication1 W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-04 21:54:21.191 9864-9924/com.example.myapplication1 W/System.err: at org.jivesoftware.smackx.filetransfer.IncomingFileTransfer.negotiateStream(IncomingFileTransfer.java:194)
05-04 21:54:21.192 9864-9924/com.example.myapplication1 W/System.err: at org.jivesoftware.smackx.filetransfer.IncomingFileTransfer.access$100(IncomingFileTransfer.java:58)
05-04 21:54:21.192 9864-9924/com.example.myapplication1 W/System.err: at org.jivesoftware.smackx.filetransfer.IncomingFileTransfer$1.run(IncomingFileTransfer.java:132)
05-04 21:54:21.192 9864-9924/com.example.myapplication1 W/System.err: at java.lang.Thread.run(Thread.java:818)
...