欢迎来到天天文库
浏览记录
ID:18953229
大小:88.05 KB
页数:5页
时间:2018-09-26
《柏坤信息2班2008081424网络实验报告1—ping程序的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机网络课程设计实验报告一《ping程序的设计与实现》班级:08信息2班姓名:柏坤学号:2008081424一、课程设计目的:Ping是使用得比较多的用于测试网络联通性的程序,Ping是基于ICMP协议,使用ICMP的回送请求和回送应答来工作。a、通过模拟实现Ping命令,使学生掌握java网络编程中的对应的相关基础知识。b、通过跟踪运行java网络包,是学生了解网络编程实现细节。hhhg二、课程设计的内容本实验要求模拟实现window下ping命令,具体内容及要求如下:a、运行window环境下的ping命令,了解ping命令的功能;b、设计并实现测试网站中一个主机联通性
2、的程序,改程序输入该主机的域名或ip地址,输出为联通性测试结果;c、跟踪运行java网络包。三、课程设计分析Ping命令模拟程序的实现主要利用java网络包中的类InteAddress,该类拥有一个方法isReachable(InttimeOut)方法,实现思路如下;a、由输入的主机域名或ip地址创建InteAddress对象;b、利用InteAddress对象的isReachable方法测试指定主机的可达性。四、程序代码程序共两个类:Ping类和Timer类,代码和注释如下:packageA1;importjava.net.*;//java的网络包importjava.io
3、.*;//java的io包publicclassPing{//定义类PingprivateinttimeOut;//定义私有整型变量timeoutprivateTimert;//声明一个Timer类的对象t,但未分配内存publicPing(inttimeOut){//构造方法进行初始化this.timeOut=timeOut;t=newTimer();//给对象t分配内存。}publicStringpingRang(Stringfrom,Stringto){//确定ping地址的范围int[]ipFrom=stringArToIntAr(from.split("\."))
4、;//整形数组变量用来接收起始ip地址int[]ipTo=stringArToIntAr(to.split("\."));//接收终止的ip地址Stringoutput="";//定义字符串型变量output用来接收结果ipTo[3]=ipTo[3]+1;//ipTo数组里的地址的第四个元素加1while(!matchIP(ipFrom,ipTo)){//output+="Pinging:"+printIP(ipFrom);//output变量用来接收printIP(ipFrom)的返回结果output+="("+ping(printIP(ipFrom))+")Respon
5、seTime:"+responseTime()+"";//再接收ping(printIP(ipFrom))的结果increaseIPrange(ipFrom,ipFrom.length-1);//调用increaseIPrange(),传入的参数为ipFrom起始地址、ipFrom数组长度-1,即为3}returnoutput;}privatevoidincreaseIPrange(int[]ipFrom,intcurBit){//逐渐增加IP地址的范围,curBit表示ip地址的最后一位ipFrom[curBit]+=1;//ipFrom[3],即表示最后一位每次加1i
6、f(ipFrom[curBit]>255){//如果最后一位大于255ipFrom[curBit]=0;//则重新置为0if(curBit>0)//如果大于0increaseIPrange(ipFrom,curBit-1);//则再次调用本方法,将增加位置改为ip地址的第三位}}privatebooleanmatchIP(int[]from,int[]to){//判断起始ip地址和终止ip地址是否在同一个网段中for(intc=0;c7、ringprintIP(int[]ip)//将数组形式存放的ip地址转换成一般ip地址格式后打印出来{StringipVal="";for(intc=0;c
7、ringprintIP(int[]ip)//将数组形式存放的ip地址转换成一般ip地址格式后打印出来{StringipVal="";for(intc=0;c
此文档下载收益归作者所有