美文网首页
Ping程序

Ping程序

作者: jian321 | 来源:发表于2017-11-05 12:14 被阅读0次
一、实验目的:

通过做一个简易版的、图形化界面的ping程序,进一步学习ICMP协议相关内容,同时加强网络编程的动手实践能力,以及翻阅相关资料解决问题能力。

二、实验步骤:

1、图形化界面布局
2、功能设计
3、具体实现

三、实验详细设计:

1、图像化界面
步骤一:环境的搭建,使用eclipse的windownbuilder插件,快速构建界面。如下图:


2、功能设计
设置两个功能按钮 Ping 和 Stop,一个文本框 IP Address,用来获取要测试的 IP 地址,四个 spinner 组件,用来获取测试的时延、数据包大小、请求次数等参数。一个 table 组件用来显示动态信息。界面底部的 label 组件显示数据分析结果。

3、具体实现
Ping功能:按下按钮,通过调用cmd实现ping测试,获得控制台的数据,进行处理显示在table组件里。
Stop功能:按下按钮,测试停止,通过设置一个全局控制变量来实现控制。
关键代码如下:
测试参数获取
String timeout = sp_time.getValue().toString();
String times = sp_echo.getValue().toString();
String size = sp_size.getValue().toString();

调用cmd

command = "ping " + ip + " -n " + times + " -w " + timeout + " -l " +size;
Process pro = Runtime.getRuntime().exec(command);
BufferedReader buf = new BufferedReader
(new InputStreamReader(pro.getInputStream()));
四、实验总结:

按下Ping按钮时,只能等待它执行完才能按stop按钮?
解决:通过创建一个线程,执行ping功能,就能保证stop键有效,实现中途停止测试的预期效果。
实验遗留问题:
一、界面加载的时候不能全部加载出来,尝试改变一些布置组件代码的顺序就有点效果,可能是布局问题<父容器使用的是绝对布局>。
二、连续按下ping键,在数据显示的时候会出现数据覆盖现象,可能是进程间的同步问题。设置了一个全局变量data二维数组来储存从cmd控制台获得的数据,尝试每次ping操作后清空数组data,但没效果。
实验过程gif图如下:

相关文章

  • 2019-12-07

    改ping程序。

  • golang实现子进程通信

    这里用ping进程为例,在main函数中创建ping程序,然后将ping的执行结果通过管道(pipe)传递给主程序...

  • Ping程序

    一、实验目的: 通过做一个简易版的、图形化界面的ping程序,进一步学习ICMP协议相关内容,同时加强网络编程的动...

  • Ping程序

    ping程序通过发送一份ICMP回显请求报文给目标主机,然后等待返回ICMP回显应答 报文格式: unix系统在实...

  • Ping工具

    PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送...

  • 9-29ping

    PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送...

  • Python实现Ping程序

    Ping简介 PING (Packet Internet Groper),网络包探索器,用于测试网络连接量的程序 ...

  • 7.制作的ping库

    1.ping 是什么? ping(网络诊断工具),用于测试网络连接量的程序.利用ping命令可以检查网络的是否连通...

  • Ping 攻击

    Ping 原理 ping 程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建...

  • 计算机网络第五次作业

    题目:写一个实现ping的gui小程序。 代码: package ping; import java.awt.Fo...

网友评论

      本文标题:Ping程序

      本文链接:https://www.haomeiwen.com/subject/ruucmxtx.html