Xmpp OutgoingFileTransfer停止状态=拒绝

时间:2014-03-14 12:32:01

标签: java xmpp smack

我尝试通过xmpp和smack发送文件

FileTransferManager manager = new FileTransferManager(
            this.xmppConnection);
    OutgoingFileTransfer transfer = manager
            .createOutgoingFileTransfer(this.jid);

transfer.sendFile(file, "test");

while (!transfer.isDone()) {

LOGGER.info("Uploading File: " + file.getName() + "   STATUS: "
    + transfer.getStatus() + "  >> progress: " + 100
    * transfer.getProgress());
try {
        Thread.sleep(100);
    } catch (InterruptedException ex) {
        LOGGER.error("Exception: " + ex);
    }
}

LOGGER.info("File transfer is done: " + file.getName() + "   STATUS: "
    + transfer.getStatus() + "  >> progress: " + 100
    * transfer.getProgress());
LOGGER.info("Amount written: " + transfer.getAmountWritten());
LOGGER.info("Bytes sent: " + transfer.getBytesSent());
LOGGER.info("Peer: " + transfer.getPeer());
LOGGER.info("Error: " + transfer.getError());
LOGGER.info("Exception: ", transfer.getException());

日志是:     上传文件:image_P9.png状态:初始>>进度:0.0     上传文件:image_P9.png状态:谈判转移>>进度:0.0     文件传输完成:image_P9.png状态:拒绝>>进度:0.0     金额:-1     发送的字节数:-1     同行:felix.infraview@jabber.de/IM+ Android     错误:null     例外:

所以我没有得到错误或异常。发送被拒绝了。

我的目标是将内联图像发送到任何Android客户端。

1 个答案:

答案 0 :(得分:2)

  

状态:拒绝

     

...

     

同行:felix.infraview@jabber.de/IM +

这意味着目标对等方不支持您提供的文件传输方法。 XMPP SI File Transfer是一个非常复杂的规范,它不是由简单的客户端实现的。 事实上,它也没有在Smack中正确实现,它们可以为您提供有关错误的详细描述,但只实现了通用的“拒绝”。