【问题标题】:Complete example of Strophe.js file transfer [closed]Strophe.js 文件传输的完整示例 [关闭]
【发布时间】:2016-05-19 10:42:11
【问题描述】:

我正在使用 Strophe.js 开发一个聊天网络客户端(基于 XMPP)。在服务器端,我有一个 Openfire 服务器。

我正在寻找使用 Strophe.js 进行文件传输 (xep-0096) 的完整(且有效)示例。

我知道有一个名为 si-filetransfer 的插件,它应该有助于实现此功能,但缺少文档。所以要理解它的工作原理并不容易。

在 StackOverflow 上,我只找到了一些与此事相关的不完整帖子,例如:Save received files from xmpp Strophe si-filetransfer

在网上我也没有找到任何完整的解决方案来满足我的需求。

如果有其他解决方案可以实现上述目标(使用 XMPP 协议在 JS 客户端中传输文件),欢迎!

【问题讨论】:

  • I found only some incomplete post relating the matter - 在哪里? this?
  • 是的,它就是其中之一
  • @all_who_voted_to_close:我不明白如果你们中的 4 个人(4/5)在他们的个人资料中没有 XMPP 或 Strophe...(以及最后一个没有 Strophe...)。
  • 感谢您的不回复

标签: javascript xmpp strophe


【解决方案1】:

下面是一个非常简单的聊天演示,它使用 jQueryStropheJS 编写,具有 文件传输 功能。文件传输的实现是基于这两个 Strophe.js 插件:

此外,为了允许传输大于 65535 字节的文件,还使用了分块算法。

这是 Plunker:http://plnkr.co/edit/fYpXo1mFRWPxrLlgr123

P.S.:您必须部署自己的 XMPP 服务器并根据您的配置调整以下代码行:

var server = 'mydomain.com';
var BOSH_SERVICE = 'http://127.0.0.1:7070/http-bind/';

【讨论】:

  • 我试过你的代码,我注意到偶尔会发生ibb进入超时......这个问题有解决方案吗?
  • 如果您的服务器允许,您可以使用从 Http-bind (bosh) 更改为 Websockets 的更可靠的连接。显然,您必须相应地更改连接网址(即 ws://127.0.0.1:7070/ws/)
  • 非常感谢@beaver!
  • @beaver $('#btnSendFile').bind('click', function() { console.log('File clicked:'); sendFileClick(); });不见了。并且不起作用。
  • @beaver 我得到 ibb.open: err=Error: feature-not-implemented in function fileTransferHandler(file,err)?这是什么意思?
猜你喜欢
  • 2012-04-30
  • 2018-03-04
  • 2010-10-15
  • 1970-01-01
  • 2014-01-27
  • 2012-10-11
  • 1970-01-01
  • 2016-01-18
  • 2011-08-19
相关资源
最近更新 更多