0

我使用 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;
    }
4

1 回答 1

0

错误出现在 jabber 服务器中。使用 openfire 服务器解决了我所有的问题

于 2012-06-19T10:25:53.057 回答