linux源码里有ping源码吗

linux源码里有ping源码吗,第1张

1.以搜索ls命令源码为例,先搜索命令所在包,命令如晌知下:lpj@lpj-linux:~$whichls/bin/悉谨纳ls2.用命令搜索该软件所在包,代码如下:lpj@lpj-linux:~$dpkg-S/bin/lscoreutils:/bin/ls3.从上一步中可以知道ls命令的实现在包coreutils中睁没

要看你是看tcp/ip协议栈的代码还是用户态的代码,我猜你是要看ping 这穗余弊猜族个程序的代码

rpm -qf `which ping`

找到ping属于哪个软件包毁备,下载软件包的源代码就可以看了

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

给你两个思路:

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

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存