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帮助你利用松耦合组件设 ...
随机推荐
- mirantis fuel
使用mirantis公司的openstack部署工具--fuel,迅速部署体验openStack云管理软件; 1,使用virtualbox虚拟化工具(此工具在此使用主要是为了简化新建虚机的网络规划,f ...
- ASP.NET MVC4.0 部署
EntifyFramework 5.0.0 安装 http://www.nuget.org/packages/EntityFramework/5.0.0 1. 文章,部署前的配置 http://www ...
- 海量数据挖掘--DB优化篇
上一篇博客我们介绍了针对大数据量的处理,我们应该对程序做什么样的处理,但是一个程序的优化是有底线的,我们要考虑人力,物力,程序的优化是海量数据处理的一部分,这里介绍我们的重头戏,对数据库的优化! 这里 ...
- 获取布局 ActionBar
LayoutInflater inflater = getLayoutInflater();View imageLayout = inflater.inflate(R.layout.preferenc ...
- DFBle.swift
//// DFBle.swift// DFBle//// Created by LeeYaping on 15/9/2.// Copyright (c) 2015年 lisper. All r ...
- Linux字符设备中的两个重要结构体(file、inode)
对于Linux系统中,一般字符设备和驱动之间的函数调用关系如下图所示 上图描述了用户空间应用程序通过系统调用来调用程序的过程.一般而言在驱动程序的设计中,会关系 struct file 和 struc ...
- 自定义控件(视图)2期笔记03:自定义控件之使用系统控件(优酷案例之广告条Viewpager)
1.首先我们看看运行效果,如下: 2. 下面就是详细实现这个效果的过程: (1)新建一个Android工程,命名为"广告条的效果",如下: (2)这里用到一个控件ViewPager ...
- django: db - display
本讲介绍数据在页面中的呈现,内容很简单,就是嵌套循环在模板中的使用. 一,修改 csvt03/urls.py: from django.conf.urls import patterns, inclu ...
- django: db howto - 2
继 django: db howto - 1 : 一 操作数据库的三种方式: [root@bogon csvt03]# python2.7 manage.py shell Python 2.7.5 ( ...
- centos静默式安装Oracle11g
1. Centos及Oracle版本 Centos:CentOS release 6.4 (Final) Oracle:linux.x64_Oracle_11gR2_database 2. 硬 ...