`

决定花点时间研究下libjingle

阅读更多
Project and Source Code Location
http://code.google.com/p/libjingle/
Developer Guideline Location
http://code.google.com/apis/talk/libjingle/

为什么研究这个呢? 出于下面的考虑:
  • 现在XMPP协议的一个很重要的方面是语音/视频聊天和文件传输, 而其对应的XMPP扩展协议主要是Jingle (XEP-0166 http://xmpp.org/extensions/xep-0166.html)以及其它一系列基于Jingle的协议. 
  • Jingle扩展协议是Google贡献给XSF基金会的, 目前是draft状态, 还没有正式lock down.
  • Goolge Talk客户端的语音/视频聊天和文件传输的协议使用的是类似于Jingle的协议, 但和Jingle协议有所区别, 二者不兼容. Google把这个协议的实现也开源了, 就是libjingle. Google几乎是在把libjingle开源的同时向XSF提交Jingle协议的.
  • 所以, XMPP Jingle协议和libjingle协议类似, 但不兼容.目前很多的XMPP客户端(比如Spark/Psi/Pidgin等)都基本实现了Jingle协议, 但Google Talk客户端还用的是libjingle里的协议. 这意味着这些XMPP客户端不能和Google Talk客户端进行文件传输.
  • 目前主要的public的XMPP Service Providr还是Goolge Talk, 所以如果要开发一个有竞争力的XMPP客户端 (尤其是在Android平台上), 除了实现标准的Jingle协议外, 最好也实现libjingle里的协议以便能够与Google Talk客户端进行文件传输.
  • libjingle是用C++开发的, 所以如果想把它porting到使用Java语言的Android平台上, 还是需要对其代码进行一些研究的.

由于libjingle涉及到的东西很多, 网上的资料不不少, 而且libjingle也确实和XMPP不是完全一样, 所以这里将专门创建一个"Libjingle"的分类.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics