欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

P2P通信之libnice的使用及分析

程序员文章站 2022-05-21 14:18:12
...

官网:https://libnice.freedesktop.org/

GitHub:https://github.com/libnice/libnice

一、前言

libnice是一个实现交互式连接建立(ICE)标准(RFC 5245RFC 8445)的库,它基于GLib库开发。

二、安装库

sudo apt-get install libglib2.0-dev
sudo apt-get install libnice-dev

三、下载源码

从GitHub中下载源码

git clone aaa@qq.com:libnice/libnice.git

官方给了三个demo供我们学习,分别是:

1、simple-example.c

2、threaded-example.c

3、sdp-example.c

四、示例

我们先从最简单的simple-example入手,输入以下命令进行编译:

gcc -o simple-example simple-example.c `pkg-config --cflags --libs nice`

这样可以生成一个可执行文件simple-example

我们在虚拟机里开启两个ubuntu-server系统来测试。

第一个作为客户端A,输入命令:./simple-example 0 stun.stunprotocol.org;

第二个作为客户端B,输入命令:./simple-example 1 stun.stunprotocol.org;

接着将客户端A生成的Copy this line to remote client信息复制到客户端B,同样将客户端B的复制到客户端A。

注意单一某个客户端复制完后别急着按回车,当双方信息都复制到对方页面后,再分别按回车进行连接,否则很可能会连接超时而失败。

然后,我们就可以向对方发送文字消息了。

P2P通信之libnice的使用及分析

 

P2P通信之libnice的使用及分析