Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Smack 4.1.1文件传输,错误无法建立套接字_Android_Xmpp_Openfire_Smack_Asmack - Fatal编程技术网

Android Smack 4.1.1文件传输,错误无法建立套接字

Android Smack 4.1.1文件传输,错误无法建立套接字,android,xmpp,openfire,smack,asmack,Android,Xmpp,Openfire,Smack,Asmack,我正在尝试通过我的android应用程序发送文件,其中包含smack library 4.1.1,尽管我在发送文件时遇到了一些错误。问题是,我不知道为什么它只是将文件发送到一个设备,但之后它不允许我发送给其他人,其他人也不能发送给其他人,例如,当我第一次用一个设备打开一个侦听器时,该设备可以并且仍然可以只将文件发送到一个设备(它发送的第一个设备),但接收的设备不能,文件似乎到达了,但有0个数据,或者可能它没有到达,只是在到达的时候出现了一些错误,我不确定,但过了一段时间,我不知道连接或某些东西是

我正在尝试通过我的android应用程序发送文件,其中包含smack library 4.1.1,尽管我在发送文件时遇到了一些错误。问题是,我不知道为什么它只是将文件发送到一个设备,但之后它不允许我发送给其他人,其他人也不能发送给其他人,例如,当我第一次用一个设备打开一个侦听器时,该设备可以并且仍然可以只将文件发送到一个设备(它发送的第一个设备),但接收的设备不能,文件似乎到达了,但有0个数据,或者可能它没有到达,只是在到达的时候出现了一些错误,我不确定,但过了一段时间,我不知道连接或某些东西是否中断,我可以用任何其他设备发送文件,但不能用另一个设备发送,只有一个。其他人会得到这个错误:

我也用spark测试它,我可以完美地从spark接收文件,即使当我向spark发送文件时,它也会在spark上显示错误

日志

接收文件:

公共静态void setFileTransferListener(AbstractXMPPConnection连接){

我很乐意阅读任何答案或提示。我在这上面被困了两天。D:我真的需要帮助:/


该端口由多个端口转发,就像我说的,它与一个设备或第一个首先打开侦听器的设备一起工作。

我希望这对任何人都有帮助,api工作正常,即使我们需要更改openfire服务器中的某些属性:

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

目前它运行良好,需要进行更多测试,但我错了,请有人提供任何其他信息来修复此问题。

我没有使用smack进行文件传输,但您所描述的听起来像是一对一/一对多/多对多问题,一个好的开始是检查这些问题的支持,这可能会解释一些问题你看到的奇怪行为我不知道在哪里检查它,即使我重新启动了服务器,它只对某些设备有效,然后我不能再对其他设备使用它:/@TommySM,同样的问题一次又一次出现:c我不知道如何修复它,我尝试了很多方法,但在服务器上什么都没有,这段代码必须在哪里编写?@KobbycoderIm很抱歉回答延迟。您需要转到服务器管理器>系统属性>添加新属性。因此,请记住在进行此更改后重新启动服务器:-)
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();
        }

    }
    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();
            }
        }
    });
}
1.  xmpp.proxy.enabled – true 
2.  xmpp.proxy.port – 7777 (7777 is the default but could be another)
3.  xmpp.proxy.externalip – (host or ip)