Ping程序设计(c语言课程设计).doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:5 大小:25KB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

Ping程序设计(c语言课程设计).doc

Ping程序设计(c语言课程设计).doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

07网络工程本制作人:制作人:北-624寝室负责人:负责人:赖文斌第四篇网络编程第九章ping程序设计ping命令是使用频率极高的一个网络测试命令,命令是使用频率极高的一个网络测试命令,用以测试从一个主机到另一个主机间的网络上否可达。命令具有强大的功能,的网络上否可达。windows自带的ping命令具有强大的功能,它有很多选项用于实现不同的测试目的。命令,语言实现了一个简单的命令。的测试目的。本章模仿windows的ping命令,用c语言实现了一个简单的命令。本章着重语言的网络编程方法。读者可以在本章的基础上,讲述ping命令的实现原理和c语言的网络编程方法。读者可以在本章的基础上,对本章实命令进行扩展,开发出功能更强大、命令,并进一步掌握网络编程现的ping命令进行扩展,开发出功能更强大、更完善的ping命令,并进一步掌握网络编程的方法。的方法。9.1设计目的程序,程序的实现原理,语言网络编程技术。本章通过设计Ping程序,讲解Ping程序的实现原理,并初步讲解了c语言网络编程技术。本章涉及很多网络编程函数和编程技巧。包括库文件的导入;winsock的初始化、的初始化、;注销;本章涉及很多网络编程函数和编程技巧。包括库文件的导入;注销socket的创建、关闭;选项;地址;从堆中分配一定数量的空间、的创建、关闭;设置socket选项;根据主机名获取IP地址;从堆中分配一定数量的空间、释放从堆中分配的空间;获取当前进程ID号;数据报的发送;数据报的接等。通过本程序的训练,使读者对网络编程有一定的了解,程序的设计方法,通过本程序的训练,使读者对网络编程有一定的了解,掌握Ping程序的设计方法,掌握网络编程的方法和技巧,从而编写出功能更强大的程序强大的程序。掌握网络编程的方法和技巧,从而编写出功能更强大的程序。9.2功能描述命令,本章用c语言实现的ping命令,能用于测试一个主机到另一个主机间的联通情程序还提供了几个选项以实现不同的功能。况,程序还提供了几个选项以实现不同的功能。功能。操作,回显请求报文,(1)实现ping功能。程序能实现基本的ping操作,发送ICMP回显请求报文,接收显应)答报文。答报文。(2)能记录路由。程序提供了“-r”选项,用以记录从源主机到目的主机的路由。)能记录路由。程序提供了“”选项,用以记录从源主机到目的主机的路由。(3)能输出指定条数的记录。程序提供了“-n”选项,用以输出指定条数的记录。)能输出指定条数的记录。程序提供了“”选项,用以输出指定条数的记录。(4)能按照指定大小输出每条记录。程序提供了“datasize”选项,用以指定输出的数据)能按照指定大小输出每条记录。程序提供了“”选项,报的大小。报的大小。(5)能输出用户帮助。程序提供了用户帮助,显示程序提供的选项以及选项格式等。)能输出用户帮助。程序提供了用户帮助,显示程序提供的选项以及选项格式等。9.3总体设计9.3.1功能模块设计1.功能模块图个模块,分别是初始化模块、功能控制模块、数据控制模块、本系统共有4个模块,分别是初始化模块、功能控制模块、数据控制模块、数据报测试模块,所示。各模块功能描述如下。解读模块和ping测试模块,如图9.1所示。各模块功能描述如下。Ping程序设计初始化模块功能控制模块数据报解读模块Ping测试模块图9.1系统模块图(1)初始化模块。改模块用于初始化各个全局变量,为全局变量赋初始值;初始化,加载库。初始化模块。改模块用于初始化各个全局变量,为全局变量赋初始值;初始化,加载库。(2)功能控制模块。改模块是被其它模块调用,其功能包括获取参数、计算校验和填充数据功能控制模块。功能控制模块改模块是被其它模块调用,其功能包括获取参数报文、释放占用资源和显示用户帮助。报文、释放占用资源和显示用户帮助。(3)数据报解读模块。改模块用于解读接收到的报文和选项。数据报解读模块。数据报解读模块改模块用于解读接收到的报文和选项。(4)测试模块。改模块是本程序的核心模块,调用其他模块实现其功能,主要是实现的功能。测试模块。测试模块改模块是本程序的核心模块,调用其他模块实现其功能,主要是实现的功能。2.系统流程图.所示。函数初始化各全局变量,系统执行的流程图9.2所示。程序首先调用IniPing()函数初始化各全局变量,然后函数初始化各全局变量GetArgments()函数获取用户输入的参数,检查用户输入的参数,如果参数不正确或者没有函数获取用户输入的参数,函数获取用户输入的参数检查用户输入的参数,输入参数,则显示用户帮助信息(Userhelp),并结束程序;如果参数正确,则对指定目的输入参数,则显示用户帮助信息,并结束程序;如果参数正确,命令,结果并释放占用资源,地执行