Android Smack 4.1.1文件传输,错误无法建立套接字
我正在尝试通过我的android应用程序发送文件,其中包含smack library 4.1.1,尽管我在发送文件时遇到了一些错误。问题是,我不知道为什么它只是将文件发送到一个设备,但之后它不允许我发送给其他人,其他人也不能发送给其他人,例如,当我第一次用一个设备打开一个侦听器时,该设备可以并且仍然可以只将文件发送到一个设备(它发送的第一个设备),但接收的设备不能,文件似乎到达了,但有0个数据,或者可能它没有到达,只是在到达的时候出现了一些错误,我不确定,但过了一段时间,我不知道连接或某些东西是否中断,我可以用任何其他设备发送文件,但不能用另一个设备发送,只有一个。其他人会得到这个错误: 我也用spark测试它,我可以完美地从spark接收文件,即使当我向spark发送文件时,它也会在spark上显示错误 日志 接收文件: 公共静态void setFileTransferListener(AbstractXMPPConnection连接){ 我很乐意阅读任何答案或提示。我在这上面被困了两天。D:我真的需要帮助:/Android Smack 4.1.1文件传输,错误无法建立套接字,android,xmpp,openfire,smack,asmack,Android,Xmpp,Openfire,Smack,Asmack,我正在尝试通过我的android应用程序发送文件,其中包含smack library 4.1.1,尽管我在发送文件时遇到了一些错误。问题是,我不知道为什么它只是将文件发送到一个设备,但之后它不允许我发送给其他人,其他人也不能发送给其他人,例如,当我第一次用一个设备打开一个侦听器时,该设备可以并且仍然可以只将文件发送到一个设备(它发送的第一个设备),但接收的设备不能,文件似乎到达了,但有0个数据,或者可能它没有到达,只是在到达的时候出现了一些错误,我不确定,但过了一段时间,我不知道连接或某些东西是
该端口由多个端口转发,就像我说的,它与一个设备或第一个首先打开侦听器的设备一起工作。我希望这对任何人都有帮助,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)