首页 > 代码库 > Libjingle 库
Libjingle 库
Libjingle 是google talk voice(语音聊天) 和 p2p interoperability(点对点操作)库,是提供了google talk,p2p文件共享和语音呼叫能力的组件集,libjingle包中包含了jingle和jingle语音以及两个被xmpp标准提议的扩展。
About libjingle (关于libjingle)
Libjingle 是一个开源包,用C++编写,我们可以利用包里的一些应用例子来构建自己的p2p应用。Libjingle库实现了“创建网络链接”,“会话协商”和“数据交换”。
(“创建网络链接”指 NAT和firewall穿越,relay servers, and proxies(即服务器中继和代理)。
“会话协商” 指 编码,格式等。)
它也提供了一些像XML解析和网络代理操作这样的帮助类。可以利用libjingle创建以下的应用:
多用户语音聊天应用
多用户视频会议应用
多用户音乐流直播应用
P2p文件共享应用
Libjingle是google Code计划中运行于windows 和 UNIX/Linux操作系统的开发包,这个文档是对包中的readme文件的补充。
Libjingle的一些无关紧要的说明,比如,您可以把libjingle应用于商业和非商业用途,并可以任意发布之类的,此处省略。
Libjingle用到的第三方库的详细,请到google查看具体说明。
Jingle and libjingle
Libjingle库几乎和jingle的xpmm扩展(XEP-0166)同时诞生,libjingle团队使用了自己的协议,尽管libjingle库中的协议和jingle协议非常相似,但它们是不同的,它们是互不兼容的。
Organization of the SDK(SDK组织形式)
Libjingle 库包含了以下几个文件夹:
目录 | 描述 |
base/ | 一些底层函数的包装类,比如:套接字和线程。 p2p和会话组件使用到了这些类 |
examples/ | 包含以libjingle创建的两个例子:call和file share。还有一些这两个例子用到的其它文件。 |
p2p/ | 包含 协商,确定链接,和维持复杂网络环境下p2p链接的一些组件的类, |
session/ | 针对“不同的交换数据类型”的p2p会话,进行特殊化操作的一些类,比如:声音或文件。 |
third_party/ | 存放libjingle需要的各种第三方库的默认文件夹。比如,Linphone和GIPS VoiceEngine Lite文件都应该被安装在这里,语音聊天例子程序用到的这两个库,就应该放在这个文件夹内。 |
xmllite/ | 解析和生成XMPP节的类 |
xmpp/ | 发送和接收XMPP请求,管理普通XMPP服务器任务(比如,登录或出席会议)的一些类。
|