Я использую 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)