如何在 xmpp smack 或 asmack 中将文件发送给离线用户?

Posted

技术标签:

【中文标题】如何在 xmpp smack 或 asmack 中将文件发送给离线用户?【英文标题】:How to send File to offline user in xmpp smack or asmack? 【发布时间】:2016-08-02 04:51:18 【问题描述】:

我尝试了 smack 和 asmack。我能够登录、注册和发送消息并发送文件。但问题是当我向离线用户发送文件时,我收到(服务不可用 503)错误。我该如何发送使用 smack 或 asmack 向离线用户提交文件 ...如果无法使用 smack 和 asmack ,那么还有什么替代方法?

【问题讨论】:

【参考方案1】:

我也遇到了同样的问题。我能想到的唯一解决方案是开发一个上传服务,允许用户上传文件并生成一个可以下载文件的 url。

我在 jabber 服务器上运行该服务,并且使用相同的凭据进行登录。

    第一个应用上传文件,并收到一个下载 url,即“秘密” 它使用自定义协议扩展将 url 发送给另一个客户端,如果他选择这样做,另一个客户端会下载文件

您可以自定义协议来决定何时删除上传服务器的文件。

此技术还有一个优势,即您可以共享或转发下载内容,而不会浪费客户端的带宽。

但我对我的解决方案并不满意,因为我必须开发自己的服务。如果它是 XMPP 的一部分并且已经在 jabber open fire 服务器上实现,那就太好了。

【讨论】:

以上是关于如何在 xmpp smack 或 asmack 中将文件发送给离线用户?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android (2014) 中使用 aSmack XMPP 库实现 facebook 聊天? [关闭]

在 xmpp 中接收消息

带有 aSmack 库的 XMPP 出现错误?

如何在消息 asmack/smack 中添加其他数据?

在 asmack-xmpp 聊天中找不到远程服务器

如何从 aSmack 迁移到 Smack