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帮助你利用松耦合组件设 ...
随机推荐
- Web Server CA证书签名步骤和自签名测试,支持多域名
Web Server支持HTTPS访问需要两个文件,私钥和证书.私钥和证书都放在服务器上,私钥用来加密数据,证书传递给客户端.自己签名的证书在传递给浏览器的时,因为证书不被信任,所以会弹出连接不安全, ...
- double精度的坑与BigDecimal
近期经常接触支付相关的功能,在开发及测试过程中,开始金额都使用的是double类型,而近期新进的需求存在支付时打折的情况,也就是会出现如 1.23元的情况,那么这时候问题来了,如果是直接使用1.23进 ...
- writev/readv
```cpp#include <sys/uio.h>ssize_t readv(int fd, const struct iovec *iov, int iovcnt);ssize_t w ...
- 两个php.ini; ubuntu下配置文件
C:\wamp\bin\apache\apache2.4.17\bin\php.ini 用于web访问时的配置文件, C:\wamp\bin\php\php5.6.15\php.ini 用于cli [ ...
- ubuntu 创建eclipse 快捷方式
Ubuntu 上链接快捷方式,将想面内容复制并修改,命名为:eclipse.desktop #!/usr/bin/env xdg-open [Desktop Entry] Name=Eclipse C ...
- (第三章)Java内存模型(上)
一.java内存模型的基础 1.1 并发编程模型的两个关键问题 在并发编程中,需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体).通信是指线程之间以何种机制来 ...
- java.lang.NoSuchMethodError: org.apache.commons.io.FileUtils.getTempDirectory()Ljava/io/File;
我出现这个问题的原因是使用ueditor上传图片 如果不是commons.io的jar包缺失,就是jar包有冲突 另外:最新的ueditor(1.4.3.1)使用的是commons-io-2.4.ja ...
- jdk-tomcat环境变量设置
1.export命令直接在shell下设置 export JAVA_HOME=/home/yn4a/jdk1.6.0_16export PATH=$JAVA_HOME/bin:$PATHexport ...
- CentOS NFS的安装配置、启动及mount挂载方法
一.环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二.安装: NFS的安装配置:centos 5 : yum -y install n ...
- jQuery animate easing使用方法
从jQuery API 文档中可以知道,jQuery自定义动画的函数.animate( properties [, duration] [, easing] [, complete] )有四个参数: ...