【问题标题】:Openfire , xep-0363 http file upload supportOpenfire , xep-0363 http 文件上传支持
【发布时间】:2016-11-16 03:19:03
【问题描述】:

伙计们。

目前,我正在使用 Xabber 客户端的修改版本,并且对于文件传输,它使用 xep-0363。但似乎 openfire 不支持这个扩展。 有什么办法可以将此功能添加到openfire。 ??

如果没有,还有什么选择??哪些服务器支持这种文件传输协议??

提前致谢 硕士。

【问题讨论】:

标签: android xmpp openfire


【解决方案1】:

我使用明火进行消息传递。我所做的是使用我自己的服务器上传/下载文件并使用消息正文中的服务器链接(消息正文为 json)并使用消息类型区分消息。 这些消息是通过 xmpp/openfire 发送的。

普通消息看起来像{msg_type:"text",msg:"Hello"}
图片消息看起来像{msg_type:"image",msg:"www.myservewr.com/192/image.jpg"}

发送管理器将在消息发送时触发。

  DeliveryReceiptManager dm = DeliveryReceiptManager
                            .getInstanceFor(connection);
                    dm.autoAddDeliveryReceiptRequests();
                    dm.setAutoReceiptMode(DeliveryReceiptManager.AutoReceiptMode.always);
                    dm.addReceiptReceivedListener(new ReceiptReceivedListener() {

                        @Override
                        public void onReceiptReceived(final String fromid,
                                                      final String toid, final String msgid,
                                                      final Stanza packet) {
                            System.out.println("DElivery success!");
}

【讨论】:

  • 感谢好友的建议。如果我可以通过 Openfire 服务器的功能来处理这个问题,那就太好了。很久以前,我使用 Smack 库的FileTransferManager 实现了这一点。我想为了使用DeliveryReceiptManager 值得再次实现它
  • DeliveryReceiptManager 可以在这两种情况下使用。当我几个月前使用 FileTransferManger 时,它的速度与其他相比非常慢
  • 可以解释更多,我如何在你的方法中使用 DeliveryReceiptManager ??
  • DeliveryRecieptManager 在您发送消息并在另一端收到消息时触发......无论是普通消息还是文件或任何内容。因此,您可以将文件上传到您的服务器,然后向该链接发送一条消息,一旦它到达另一端,您将得到 ACK。查看更新的答案
  • 如果我理解的很好,我会在收到消息(包含下载链接)时得到ACK。但不是在另一端下载文件时。我是真的吗??如果
猜你喜欢
  • 2017-05-14
  • 2016-06-05
  • 1970-01-01
  • 1970-01-01
  • 2012-06-15
  • 2018-11-07
  • 2012-07-25
  • 2021-06-27
  • 1970-01-01
相关资源
最近更新 更多