行云

行至水穷处,坐看云起时。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

xmpp文件传输主要有两种方法:
1 socks5 bytestreams 对应的协议是XEP-0065
2 In-Band Bytestreams(ibb) 对应的协议是XEP-0047

socks5 Bytestreams方法的优点是效率高,但是跨网段传输时需要一个文件代理。像openfire服务器就自带有文件代理,所以这个容易实现。
同网段传输可以直接连接,一般的实现是发起端建一个socks5服务。实际使用该方法时还需要使用XEP-0095协议来初始化流。XMPPFramework
未包含XEP-0095这个协议的实现,需要自己定义。

In-Band Bytestreams的优点是实现简单,但是效率不高。XMPPFramework也没有包含XEP-0047协议的实现。

还有另一个更高级的方法 -- Jingle,相关的协议是XEP-0166。该方法是google发明并公布的。该方法目前还未普及,XMPPFramework也没有
包含相应的实现,这是个很大的协议,实现起来应该很有难度。

如果使用XMPPFramework进行开发,那么对于文件传输最容易实现的方法应该是sock5 Bytestreams。
实现的时候主要就是认真看XEP-0095和XEP-0065这个两个协议文档。
http://xmpp.org/xmpp-protocols/xmpp-extensions/

posted on 2012-11-13 21:17  windflying  阅读(5983)  评论(7编辑  收藏  举报