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帮助你利用松耦合组件设 ...
随机推荐
- js点击按钮,放大对应图片代码
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C#调用PowerShell脚本
今天通过一个小例子,学习了C#如何调用PowerShell脚本文件的Function以及传参. private bool CallPowershell(string outputFile) { str ...
- 在jsp页面上直接打开PDF文件
1.在不需要使用插件,直接打开通过链接方式打开 <%@ page language="java" import="java.util.*,java.io.*&quo ...
- tomcat与resin的比较
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了 ...
- android应用中设置自动大写
给要添加view里面添加android:capitalize="sentences"属性
- Swift补基础之Selector、条件编译、编译标记、NSObject
在swift中使用条件编译比较直接 #if <condition> #elseif <condition> #else #endif 例如 :在debug模式和release模 ...
- 如何用Github的gh-pages分支展示自己的项目
很多新同学觉得github不就是一个代码托管所吗,如何能展示项目呢?其实完全可以借助Github的gh-pages打造出自己的一个作品集,无论是对自己的提升整合还是日后的面试都大有裨益. 前置准备 G ...
- redisi配置安装
一.单机配置 http://www.codeceo.com/article/centos-redis-setup.html 二.测试安装情况 http://blog.sina.com.cn/s/blo ...
- mybatis的缓存机制
一级缓存: MyBatis的一级缓存指的是在一个Session域内,session为关闭的时候执行的查询会根据SQL为key被缓存(跟mysql缓存一样,修改任何参数的值都会导致缓存失效) packa ...
- Messager( 消息窗口) 组件
一. 加载方式消息窗口提供了不同的消息框风格,包含 alert(警告框).confirm(确认框).prompt(提示框).progress(进度框)等.所有消息框都是异步的,用户可以在交互消息之后使 ...