LINUX下Live555不能获取ip地址解决方法

linux下运行live55 显 示如图 :没有获取ip:  ip是0.0.0.0

  live555在不知道本地IP地址与网络接口的情况下,通过一个在本地某端口建立一个UDP连接,然后把这个UDP连接加入

到一个组播组 ,当然要对这个组播组进行相应的设置,比如TTL,回环等等;然后通过UDP连接发送一个数据;最后通过这个UDP连接接收这个数据,并且解析相应的发送地址;大概流程就是这样了。

具体的代码片段live555:groupsock/GroupsockHelper.cpp里:
因此我们设置固定的IP地址:
首先设置IP:执行命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0  我的设置如下:

 
之后还必须设置网关!!!
执行命令: vi /etc/sysconfig/network   我的设置如下;

保存退出之后重启服务:

service network restart

或者运行/etc/sysconfig/network-scripts/ifup eth0 启动

 
此时ifconfig查看如下:

运行live555如下:
 
 
 此时live555服务器就启动了,并能正确的获取本机IP地址
使用VLC播放器在windows下能播放linux服务器下的媒体文件!


其他

iptables导致live555无法获取本机ip地址

今天在服务器上安装了下live555,结果怎么打开也找不到自己的ip,一直报0.0.0.0。百度了一会之后觉得应该是live555在确定ip时候出了问题。

live555是向15947发送一个数据报然后再确定ip的(愚以为)。

在live555源代码下搜索一下端口15947

grep -R --include=*.cpp "15947" live555

发现在 live555源码的groupsock/GroupsockHelper.cpp 中 live555是通过连接本机的15947端口来确定自己的ip的。

但是,本机的严密的iptables直接把他deny了!

insert一条端口15947的allow在适当的位置就好了!


你可能感兴趣的:(live555)