在Smack中上传文件时出错

时间:2012-06-13 07:05:24

标签: java smack

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

1 个答案:

答案 0 :(得分:0)

错误发生在jabber服务器上。 使用openfire服务器解决了我所有的问题