`
linyu19872008
  • 浏览: 278201 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

openfire文件传输

 
阅读更多

* XEP-0096: File Transfer 这是传输文件的统一接口,客户端之间用它来协商到底采用那种具体的传输方式,包括以下三种。

* XEP-0047: In-Band ByteStreams 带内字节流,这个协议实际上用于小数据量传输,只是它用的字节流传输,所以也顺便说一下。带内,也就是夹带在XML流中,通过XMPP服务器中转传输。具体用法是把数据用base64编码放在XML流中传给对方。这个办法不好,base64编码效率很低,而且所有数据必须由服务器中转。

* XEP-0066: Out of Band Data 带外字节流,带内不行就走带外,也就是不经过XMPP服务器。这个用法是在发起传输的客户端临时建立一个http服务(当然也可以是别的服务),把自己的IP和端口(通过XMPP消息)告诉接收方,让对方直接来下载。这个方法有一个问题,发送一方必须是公网IP,否则对方无法访问。 注:目前Pandion,Linq支持这个XEP。

* XEP-0065: SOCKS5 Bytestreams SOCKS5字节流,使用SOCKS5传输文件,有直连式和代理传输两种方式。发送方把预定的IP和端口(通过XMPP消息)告诉接收方。如果双方都在公网,采用SOCKS直接传输。如果任何一方在内网,经过SOCKS5代理服务器传输,发送方把代理服务器的IP和端口告诉给接收方。这里的SOCKS5代理服务器和通用的代理服务器稍有差别,因为它需要通过发送方提出的一个sessionID由XMPP服务器通知SOCKS5代理服务器把双方的SOCKS通道连通,也就是激活。 注:目前Psi,Linq支持这个XEP。

 

----- google的gtalk宣布采用XMPP标准之后,对于大数据量传输又采用了新的办法,也就是jingle。这个协议除了考虑文件传输,更多的考虑到了多媒体应用,不过总体来说它的思路和前述的方法相差不大,或者说是前述的XEP的扩展和优化。目前jingle在XEP中还处于试验状态,但是在gtalk中已经采用了jingle,而且gtalk完全不支持前述的XEPs。

大鳄都是这样了,仗着自己有钱有势......。

分享到:
评论
1 楼 bluky999 2014-04-03  
这个总结得比较全面,嗯,3种大的方式都有了。 

相关推荐

    openfire文件传输功能转移

    通过python实现openfire的外部组件完成proxy65文件传输的代理工作

    asmack支持文件传输

    asmack支持文件传输

    asmack2解决文件传输问题

    基于OpenFire 配合asmack 这个年久失修的项目有很多Bug 此asmack2已经修改好部分,可正常实现单人,多人,聊天室功能,并且成功解决文件传输不了问题。

    openfire3.6.4_spark2.5.8_smack_java即时通信解决方案

    spark除聊天支持外,还支持语音,多人视频,文件传输,截图,远程观看桌面,msn网关(openfire安装gateway),本文详细叙述了openfire+spark的完整的安装过程和注意事项。

    openfire+connection mananger +strophe.js不兼容修复

    官方的strophe.js库在通过connection manager提供的bosh接口连接openfire的时候,无法成功完成建立连接,我的这个js要在strophe.js被引进后再引进其它的开发的部分不需要修改。

    docker-openfire-jitsi:具有多用户视频聊天功能的强大 xmpp 服务器,提供 Skype 和 Google Hangout 的免费替代方案

    xmpp 服务器允许您使用类似于 Skype 和 Google Hangout 的服务托管自己的服务器OpenFire 是一个 xmpp(japper)服务器,可用于聊天、语音、视频、会议室、桌面共享、协作和文件传输。 可以使用任何 xmpp 客户端,...

    jsxc:带有视频通话,文件传输和加密通信的实时xmpp聊天应用程序

    :smiling_face_with_heart-eyes: 特征JSXC提供以下功能: 与XMPP的联合实时通信一对一对话多用户对话文件传输视像通话国际化桌面通知端到端加密的两方通信响应式布局表情符号 :two_hearts: 多标签屏幕共享您可以...

    基于qxmpp协议最简单的聊天客户端

    openfire服务器+qxmpp协议 实现的一个最简单的即时通讯聊天程序客户端,填写对方jid即可发送消息给对方!

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    如意通 RooyeeMessenger 企业即时通讯 Delphi源代码

    多线程文件传递,断点续传 支持文件(夹)的超大容量快速传输,防止优盘病毒传播,提高了网络的安全性能。 与OA、ERP等多种实用灵活集成可与多种软件实现灵活集成,方便用户使用。 便捷的沟通助手,提高沟通效率。...

    AsmackDemo

    xmpp协议,使用openfire服务器,基于asmack实现文字、语音聊天,传文件

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    FileTransferDisabler-开源

    此插件用于自动拒绝对OpenFire(Wildfire)服务器的所有文件传输请求

    即时通讯 android

    最近公司项目需要用到即时通讯功能,经过调研发现openfire+...于是决定自己研究,耗时一周的时间实现了文字通讯和文件传输的功能。现发帖分享给有需要的朋友,也希望大家能够把自己的资料都分享出来,不要敝扫自珍。

    HiChat2:Web IM工具HiChat v2——开发中

    HiChat2 Web IM工具HiChat v2——开发中 依赖: Openfire node.js (0.11+) 先用npm install安装所有依赖包 ...文件传输——webrtc datachannel(√) 视频聊天——webrtc(√) 图片传输——webrtc(√)

    java开源包1

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包11

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包2

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包3

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

Global site tag (gtag.js) - Google Analytics