libnice使用

libnice是一个ICE实现库。它实现了Interactive Connectivity Establishment (ICE) standard (RFC 5245) 和 the Session Traversal Utilities for NAT (STUN) standard (RFC 5389)。

官网地址:http://nice.freedesktop.org/wiki/

源码git库地址:http://cgit.collabora.com/git/libnice.git


1、下载源码:

git clone git://git.collabora.co.uk/git/libnice.git

2、编译:

2.1、linux平台下:

它依赖:

 glib >= 2.10
 pkg-config
 gupnp-igd >= 0.1.2 (optional)
 gstreamer-0.10 >= 0.10.0 (optional)
gtk-doc-tools     #autogen.sh需要


2.2、编译

k@k-C410:/home/libnice$ ./autogen.sh

k@k-C410:/home/libnice$ ./configure

k@k-C410:/home/libnice$ make


3、生成的程序和库

在nice/.libs目录下生成静态库libnice.a、动态库libnice.so
在example目录下生成三个例子程序。

4、例子程序的使用

k@k-C410:/home/libnice/examples$ ./simple-example 0 stunserver.org
Copy this line to remote client:

  Tyyp 33oInvKVEn1Lo6LkVVy6P5 1,2013266431,192.168.10.17,47748,host

Enter remote data (single line, no wrapping):
>

红色部分表示提供给对等端协商时的验证用户名、密码、外网地址,以空格分隔。


启动二个实例,就可以开始IM对话了:

第一个控制台:

k@k-C410:/home/libnice/examples$ ./simple-example 0 stunserver.org
Copy this line to remote client:

  Tyyp 33oInvKVEn1Lo6LkVVy6P5 1,2013266431,192.168.10.17,47748,host

Enter remote data (single line, no wrapping):
> h4p1 7M8uL1928RzeRv6cWRDqG8 1,2013266431,192.168.10.17,47758,host

Negotiation complete: ([192.168.10.17]:47748, [192.168.10.17]:47758)

Send lines to remote (Ctrl-D to quit):
> a
>

第二个控制台:

k@k-C410:/home/libnice/examples$ ./simple-example 0 stunserver.org
Copy this line to remote client:

  h4p1 7M8uL1928RzeRv6cWRDqG8 1,2013266431,192.168.10.17,47758,host

Enter remote data (single line, no wrapping):
> Tyyp 33oInvKVEn1Lo6LkVVy6P5 1,2013266431,192.168.10.17,47748,host

Negotiation complete: ([192.168.10.17]:47758, [192.168.10.17]:47748)

Send lines to remote (Ctrl-D to quit):
> a


文章来自:http://blog.csdn.net/kl222/article/details/19336179
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3