Strophe.js文件传输的完整示例

Complete example of Strophe.js file transfer

本文关键字:js 文件 传输 Strophe      更新时间:2023-09-26

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

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

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

在StackOverflow上,我只发现了一些与此事相关的不完整的帖子,例如:保存从xmpp Strophe si-filetransfer收到的文件

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

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

下面是

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

  • https://github.com/strophe/strophejs-plugins/tree/master/si-filetransfer:它允许发送和接收流启动

  • https://github.com/strophe/strophejs-plugins/tree/master/ibb.它提供了一种传输机制(带内字节流)

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

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

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

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