嵌入式linux回环通信功能的应用

本人在做一个守护进程检查QT app是否死机的任务:QT app每一秒发送udp心跳包给守护进程,守护进程一旦隔一定的时间没收到这个心跳包(意味着QT进程挂了)就重启系统。
现在做了四个实验:
1):把QT的app和守护进程的的iP设置虚拟机本身,在不同的终端开启这两个进程,udp通信正常。
2):把QT app下载到开发板中,向虚拟机中的守护进程发送udp包,虚拟机中的守护进程能够收到心跳包。
3):把守护进程下载到开发板中,在虚拟机中通过QT app发送udp包给守护进程,守护进程能收到心跳包
4):把QT app和守护进程下载到开发板中,两进程的ip设置为开发板ip地址,发现守护进程没收到QT进程的udp包(能过确认QT的udp包已经发送成功)

在做第四个实验的时候在启动文件/etc/profile中间中加入两行

./QtApp -qws
./shouhuApp 只能启动第一个进程,后来将第一个进程改为在后台运行(./QtApp -qws &)这样两个进程在开机就都能过启动。

在虚拟机中和开发板中的代码完全一样(除了ip地址),当时就想不通为什么这样,利用ifconfig命令查看的时候在虚拟机中有两个网络功能:

而在嵌入式开发板中只有eth0,没有lo(127.0.0.1)回环,

于是把QT和守护进程的ip设置为127.0.0.1,在终端输入命令ifconfig lo up启动回环功能,再进行上面的第四种情况的实验,udp通信正常。

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值