关闭

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

标签: QT udp 嵌入式 回环通信配置
758人阅读 评论(0) 收藏 举报
分类:

本人在做一个守护进程检查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通信正常。

 
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:25234次
    • 积分:348
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:7篇
    • 译文:0篇
    • 评论:15条
    文章分类
    最新评论