libjingle开发人员指南
libjingle开发人员指南
libjingle SDK包含C + +源代码和文档,使您能够设计连接和网络交换数据的应用程序(通过点对点数据连接)。该SDK包含代码和示例应用程序,一个Window平台的Vs2005 的解决方案,其他平台的configuration and makefiles文件用来编辑程序。注意,代码有一些外部依赖(例如:语音聊天程序需要Linphone或GIPS VoiceEngine Lite,这取决于您的平台)。
该代码包括网络和代理协商类,XML解析类,STUN服务器,以及所有必要的连接和启动两台计算机之间交换数据的代码。连接代码使应用程序能够有力穿越NAT和防火墙设备使用ICE机制,使用STUN服务器来交换UDP或TCP数据包。您可以根据伯克利式的授权来使用代码,或扩展满足自己的特定需求。
Jingle and libjingle
libjingle是创建在XMPP协议扩展了(XEP - 0166)标准的时候。libjingle开发队伍建立了自己的协议来处理会话协商,并且后来又与XMPP协会共同指定了Jingle标准;因此,虽然了libjingle协议和Jingle非常相似,它们并不相同,不能互通互用。
libjingle的当前版本的代码仍然使用原来的内部协议,这是略有不同,并且不符合的Jingle规范。不过,有足够接近Jingle,这是值得学习的Jingle规格。存在“接近但不完全相同的”的条件,libjingle的音频内容的说明(早期版本的Jingle音频内容描述格式XEP - 0167),并且通过ICE传输说明(早期版本的Jingle Raw UDP 传输描述文档XEP - 0176),和raw UDP传输描述(早期Jingle使用的UDP传输描述文档XEP - 0177版)。凡本文件所 提到“Jingle”或其相关的扩展名(在libjingle使用该协议),真的是指原来,内部协议条款
Libjingle开发小组打算使用公开Jingle在libjingle(同时使了libjingle落后当前定义版本兼容)。
先决条件
为了使用了libjingle,你应该熟悉XMPP协议,一般的网络概念,和C + +。此外,它有助于将与Jingle建议延长熟悉(XEP - 0166),和静乐和Libjingle上面列出的其他相关扩展。
创建和使用libjingle的要求环境说明在 创建一个libjingle应用程序。
组织的文件
本文档包括以下主要内容:
*重要概念:描述了了libjingle的一些关键概念。很重要的,如果这是您第一次使用libjingle。
http://code.google.com/intl/zh-CN/apis/talk/libjingle/important_concepts.html
*libjingle通用程序:提供了libjingle程序的主要组成部分的概述,和一些关于如何创建libjingle的P2P连接。
*创建libjingle程序:描述的主要任务,每个了libjingle应用程序必须执行。
*示例应用程序:描述如何构建和运行示例应用程序。还包括详细的资料,这些应用程序如何工作的。
*参考资料:参考指南重要了libjingle类。
SDK的组则
The libjingle SDK 包含一些目录.
Directory |
Description |
base/ |
底层类,如socket和多线程提供的基本功能。无论P2P或会议部件都依赖于这些类 |
examples/ |
Contains two sample applications built on libjingle: call, and file share. There are other files in this directory, but they are used for helper applications. 包含了两个libjingle应用程序: call, and file share.在该目录下还有其他文件,是帮助这个两个应用程序 |
p2p/ |
Classes in libjingle's Peer to Peer component, which negotiate, establish, and maintain peer-to-peer connections through almost any network configuration regardless of NAT-enabled devices and firewalls. |
session/ |
专业类的基本的对等会话的行为根据什么类型的数据交换的(例如,语音或文件)。 |
third_party/ |
默认的文件夹以保存各种第三方的代码需要的扩展。例如,Linphone和GIPS VoiceEngine Lite方案文件应该被安装在这里使用语音聊天示例应用程序。 |
xmllite/ |
解析和建立XMPP 的类. |
xmpp/ |
接收和发送XMPP协议的请求类,管理共同的XMPP协议任务(如服务器任务或宣布存在记录)。 |
注意libjingle有一些问题你应该知道:
·libjingle是正在开发的代码,它不是完美、完整、没有瑕疵的。例如:密码保护,有些方面还不够稳定、URL解析,并不尽如人意。
·示例代码使用SSL来传送到客户端的XMPP服务器的密码,但它不提供任何额外的安全(除关闭屏幕回声),以保护客户的密码。
from:http://blog.csdn.net/miky_sun/article/details/4929919
libjingle开发人员指南的更多相关文章
- 第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南
欢迎查看第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南,该处理器可为开发人员和最终用户提供领先的 CPU 和图形性能增强.各种新特性和功能以及显著提高的性能. 本指南旨在帮助软件开发人员 ...
- Python开发人员指南
本指南是一个全面的资源贡献 给Python的 -为新的和经验丰富的贡献者.这是 保持由维护的Python同一社区.我们欢迎您对Python的贡献! 快速参考 这是设置和添加补丁所需的基本步骤.了解基础 ...
- .NET CoreCLR开发人员指南(上)
1.为什么每一个CLR开发人员都需要读这篇文章 和所有的其他的大型代码库相比,CLR代码库有很多而且比较成熟的代码调试工具去检测BUG.对于程序员来说,理解这些规则和习惯写法非常的重要. 这篇文章让所 ...
- Microsoft Orleans 之 开发人员指南
开发一个Grain 在开发Grain之前请先阅读Grains 这篇文章 Grain 接口 Grains通过调用各自定义在接口中的方法相互作用,一个grain实现了事先定义好的一个或多个接口,grain ...
- OAuth 2 开发人员指南
这是支持OAuth2.0的用户指南.对于OAuth1.0,一切都是不同的,所以看它的用户指南. 本用户指南分为两个部分,第一部分是OAuth2.0提供端(OAuth 2.0 Provider),第二部 ...
- OAuth 2 开发人员指南(Spring security oauth2)
https://github.com/spring-projects/spring-security-oauth/blob/master/docs/oauth2.md 入门 这是支持OAuth2.0的 ...
- Prism5.0开发人员指南内容 Contents of the Developer's Guide to Prism Library 5.0 for WPF(英汉对照版)
The Prism for WPF guide contains the following topics: Prism指南包含以下内容: Download and Setup Prism 下载并安装 ...
- Prism5.0开发人员指南内容(纯汉语版)
Prism指南包含以下内容: 下载并安装Prism Prism5.0新内容 介绍 初始化应用程序 组件间的依赖管理 模块化应用程序开发 实现MVVM模式 进击的MVVM 组合式用户界面 导航 松耦合组 ...
- Prism开发人员指南5-WPF开发 文档翻译(纯汉语版)
2014四月 Prism以示例和文档的形式帮助你更简单的设计丰富灵活易维护的WPF程序.其中使用的设计模式体现了一些重要的设计原则,例如分离关注点和松耦合,Prism帮助你利用松耦合组件设 ...
随机推荐
- PHP magic_quotes_gpc
大多的PHP程序,都有这样的逻辑: 如果发现php.ini配置为不给GPC变量自动添加转义斜线,则PHP自动为GPC添加转义斜线 但是事实上,这是错误的,因为它改变了GPC变量原来的值. 有这个遗留习 ...
- 安装orcle10g oel5.6
一.安装OEL 5.6 二.安装VMware Tools 1) 选择菜单里的VM选项,里面有一个子选项是installVMware Tools,选择它. 2) 回到操作系统,将光驱挂载到/mnt ...
- uva 10626 - Buying Coke(记忆化搜索)
题目链接:10626 - Buying Coke 题目大意:给出要买可乐的数量, 以及1元,5元和10元硬币的数量, 每瓶可乐8元,每次照钱会按照最少硬币的方式找回, 问如何投币可使得投入的硬币数最少 ...
- C# 杨辉三角形算法
代码如下: static void Main(string[] args) { int[][] Array_int = new int[10][]; //向数组中记录杨辉三角形的值 for (int ...
- VritualBox 中Debian安装tool
VritualBox 中Debian安装tool 环境 Debian 8 VirtualBox 配置Debian的源 #163源 deb http://mirrors.163.com/debian/ ...
- Java线程同步与死锁认识
讲下自己的认识,算小小的总结吧! synchroized 具有同步线程的功能,它的处理机制类似于给参数里面的对象赋一个标记值,来表明当前状态,当程序里面某个线程执行synchroized里面的代码段时 ...
- XML中 添加或修改时 xmlns="" 怎么删除
//创建节点时 记得加上 ---> xmldoc.DocumentElement.NamespaceURI XmlElement url = xmldoc.CreateElement(&quo ...
- (转)Facade模式
Facade模式要求一个子系统的外部与其内部的通信必须通过一个统一的Facade对象进行.Facade模式提供一个高层次的接口,使得子系统更易于使用. 就如同医院的接待员一样,Facade模式的Fac ...
- 反射那些事儿——Java动态装载和反射技术
一直以来反射都是只闻其声,却无法将之使用,近日尽心下来学习下,发现了很多精妙之处. Java动态装载和反射技术 一.类的动态装载 1.Java代码编译和执行的整个过程包含了以下三个重要的机制: ● J ...
- ORACLE网络配置大全没有比这个更详细的【weber出品】
一.起篇 现在怎么说也是互联网时代,数据库也要联网,很多朋友学习Oracle的时候无外乎搭建的是以下两种学习环境: 1.直接在windows环境下安装Oracle后直接sqlplus连接. 2.在wi ...