求QT大神救命啊,在linux系统下的,用Socket设计一个软件,能实现ping功能,要有界面的。

求QT大神救命啊,在linux系统下的,用Socket设计一个软件,能实现ping功能,要有界面的。,第1张

ping使用的是ICMP协议,而Qt中没有现成的处理ICMP协议的类。所以使用Qt就是用来做界面的,ping的功能是用C来完成的。

给你两个思路

思路1. 使用linux系统命令ping。 你的程序中fork一个新进程,在新进程里面通过system("ping xxxx")的方式来调用系统ping命令,然后把ping命令的输出通过管道输入到你的程序中来。

思路2. 从网上找一个c语言写的现成的ping源代码,有很多的。看懂了以后,把ping源代码集成到你的代码中(把ping的main函数改名字,变成你的内部函数),注意输出数据。这样你的程序就有个ping功能。因为Ping会堵塞的,最好不要在画面线程中运行。

就自己新建一个类,在类的.h文件里里面新建一个slot 修饰的函数,然后在对应的.c文件中具体实现这个函数,比如要用到socket,要如何连接,如何发送数据包,再等待接受回应,如何判断是否发送与接收一致,再处理。就OK了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11813004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存