编写基于libjingle的应用程序的基本步骤

2024-03-04 02:18

本文主要是介绍编写基于libjingle的应用程序的基本步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        Libjingle是Google提供的C++组件集,它为点对点通讯与语音呼叫功能提供交互操作性。组件包包括了创建网络连接(穿越NAT与防火墙设备,中继服务器和代理),协商会话细节(编解码器,文件格式等),以及数据的交换。还提供了一些辅助的工具例如XML解析以及网络代理的处理等。使用libjingle可以实现如下应用:

  • 多用户语音聊天应用
  • 多用户视频会议应用
  • 多用户音乐流媒体应用
  • 点对点文件共享

        编写一个基于libjingle的应用程序,需要按照如下的步骤进行:

        1.  为自己的应用程序建立信号线程。

        这个线程被许多组件使用,也是libjingle内部消息系统的关键。这个线程必须在实例SessionManager之前或运行任何Task对象(例如XmppPump)之前创建并启动。需要创建PhysicalSocketServer对象,将其传到一个新的使用这个socket server的线程实例,然后把新的线程传到全局的静态ThreadManager类。

        2. 在服务器中注册。

        XMPP服务器起到中央接触点的作用,注册到XMPP服务器用于找到其他的电脑。为了便于注册,必须实例化XMPP任务管理器和XmppClient对象。

        3.  发送并请求联机状态。

        你需要找到谁在线并请求他们的JID以便于向其他电脑请求连接。

        4. 建立会话管理通道。

        用于监听和响应连接请求,或用于发起你自己的请求。

        5. 向外发送连接请求,或者接收连接请求。

        为了侦听传入的连接,必须注册接收来自SessionManager会话连接的通知,注册会话状态的变化,发送连接请求时创建的任何自定义的会话描述,并执行其他管理任务。其中的许多任务由会话逻辑与管理组件中的封装类完成。

        参考资料:http://code.google.com/intl/zh-CN/apis/talk/libjingle/building_an_app.html

 

这篇关于编写基于libjingle的应用程序的基本步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/771707

相关文章

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

MySQL 中的 LIMIT 语句及基本用法

《MySQL中的LIMIT语句及基本用法》LIMIT语句用于限制查询返回的行数,常用于分页查询或取部分数据,提高查询效率,:本文主要介绍MySQL中的LIMIT语句,需要的朋友可以参考下... 目录mysql 中的 LIMIT 语句1. LIMIT 语法2. LIMIT 基本用法(1) 获取前 N 行数据(

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

Python Faker库基本用法详解

《PythonFaker库基本用法详解》Faker是一个非常强大的库,适用于生成各种类型的伪随机数据,可以帮助开发者在测试、数据生成、或其他需要随机数据的场景中提高效率,本文给大家介绍PythonF... 目录安装基本用法主要功能示例代码语言和地区生成多条假数据自定义字段小结Faker 是一个 python

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Python3.6连接MySQL的详细步骤

《Python3.6连接MySQL的详细步骤》在现代Web开发和数据处理中,Python与数据库的交互是必不可少的一部分,MySQL作为最流行的开源关系型数据库管理系统之一,与Python的结合可以实... 目录环境准备安装python 3.6安装mysql安装pymysql库连接到MySQL建立连接执行S

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放