我使用Jabber Smack API创建了一个聊天应用程序。我正在成功接收文件(来自另一个名为“Gajim”的应用程序),但我的上传仅在几秒钟内失败。在“谈判”转移状态之后,我收到“错误”状态。
我通过提供“完全合格”的jabber ID来纠正了这个错误,但现在转接在我接受来自另一个(Gajim)客户端的转移后无限期地停留在“协商流”。
我的swingWorker类有以下代码:
OutgoingFileTransfer transfer;
@Override
public Void doInBackground() {
transfer = manager.createOutgoingFileTransfer("vedant1811@jabber.org/Gajim");
File uploadFile = fileChooser.getSelectedFile();
try {
transfer.sendFile(uploadFile, "test");
} catch (XMPPException ex) {
System.out.println("sendFile Error");
ex.printStackTrace();
}
while (!transfer.isDone()) {
if (transfer.getStatus().equals(Status.error)) {
transferLabel.setText("ERROR!!! " + transfer.getError());
} else {
transferLabel.setText("Uploading File: " + uploadFile.getName()
+ " STATUS: " + transfer.getStatus());
fileProgressBar.setValue((int) (100 * transfer.getProgress()));
}
try {
Thread.sleep(500);
} catch (InterruptedException ex) {
System.out.println("thread.sleep error");
ex.printStackTrace();
}
}
return null;
}
答案 0 :(得分:0)
错误发生在jabber服务器上。 使用openfire服务器解决了我所有的问题