




免费预览已结束,剩余10页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华东交通大学课程设计报告华 东 交 通 大 学课 程 设 计( 论 文 )任 务 书 软件学院 专 业 软件工程 班 级 2007-1 一、课程设计(论文)题目 用winsock设计Ping应用程序 二、课程设计(论文)工作:自 2009 年 12 月 28 日起至 2010年 1 月 2 日止。三、课程设计(论文)的内容要求:1、分析winsock编程技术 2、分析ping程序的功能及其相关网络协议 3、给出ping程序流程图和设计方案 4、选择开发环境,编译源程序 5、给出软件测试文档 6、设计小结 7、参考文献 学生签名: 2010年1月2日课程设计(论文)评阅意见项 目等级优秀良好中等及格不及格课程设计态度评价出勤情况评价任务难度评价工作量饱满评价设计中创新性评价论文书写规范化评价综合应用能力评价综合评定等级评阅人 谢昕 职称 教授 2010年1月5日目录一、需求分析4二、概要设计5三、详细设计6四、设计和调试分析9五、用户手册10六、测试结果和小结10七、参考文献1515一、需求分析该程序应该完成的功能:通过该程序能够检测出与目的主机的连接情况。性能需求:在完成主要的功能的基础上,增加一些参数。参数 :-t :校验与指定计算机的连接,直到用户中断。 -a :将地址解析为计算机名。 -n count :发送由 count 指定数量的 ECHO 报文,默认值为 4。 -l length :发送包含由 length 指定数据长度的 ECHO 报文。默认值为 32 字节。出错处理需求:能够检测出输入中的错误。并且通过提示用户方式避免出现程序中断。二、概要设计该PING程序的原理:通过向计算机发送ICMP Echo请求报文并且监听回应报文的返回,以校验与远程计算机或本地计算机的连接。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。首先,程序会构建一个固定格式的ICMP请求数据包,然后由ICMP协议将这个数据包连同地址一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程),IP层协议将以地址作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包,并在一个映射表中查找出IP地址所对应的物理地址(也叫MAC地址,这是数据链路层协议构建数据链路层的传输单元-帧所必需的),一并交给数据链路层。程序中应用的WINSOCK函数:WSAStartup函数:初始化SocketWSAStartup(MAKEWORD(2,0), /Socket版本号 &wsaData /指向WSADATA数据结构的指针);Socket函数:创建原始套接字socket(AF_INET,/协议族(AF_INET: TCP_IP)SOCK_RAW,/套接字类型(原始套接字)IPPROTO_ICMP/协议类型(ICMP协议);WSACleanup函数:终止Socket,释放资源地址分析函数:inet_addr函数、gethostbyaddr函数、gethostbyname函数、inet_ntoa函数Closesocket函数:关闭套接字Sendto和recvfrom函数:向TCP连接的另一端发送数据和从TCP连接的另一端接收数据Setsockopt函数:设置socket属性三、详细设计程序流程图:正确信息错误开始字符串判断输入字符串创建网络连接并且设置发送数据接受返回数据包验证数据包和输出结果结束输出错误信息代码分析:对字符串的判断为:函数spn_str:从开始begin位置一直找到下个空格位置,并且返回最后停留的字符的坐标位置。其中有两个形式参数:char * pstr(字符串指针)、int begin(指向开始的字符位置)。函数cpy_str:复制从形式参数begin位置开始到形式参数end位置。其中有4个形式参数(char * string1,char * string2,int begin,int end)函数decide_str:其有7个形式参数。char * pstr:指向输入的字符串int &begin:目的主机字符串在输入字符串中的位置int &length:目的主机字符串的长度int &attachsize:发送的字节长度int &n:发送包的个数bool &abool:是否有-a的功能bool &tbool:是否有-t的功能如果有-a的功能用下面代码实现:if(!pparams-abool)/判断-aEditPrintf (hwndOut, TEXT (Pinging %s with %d bytes of data:nn),ICMP_DEST_IP,pparams-attachsize);elsehostinfo=gethostbyaddr(char*)&addr,4,AF_INET);EditPrintf (hwndOut, TEXT (Pinging %s %s with %d bytes of data:nn),hostinfo-h_name,ICMP_DEST_IP,pparams-attachsize); 如果有-t的功能用下面代码实现:If(tbool)/有-t的功能For(i=1;i+)/用i记录多少次的发送和接收EnterCriticalSection(&cs);/进入临界区if(!tbool)/是否按下停止键来结束发送和接收break;LeaveCriticalSection(&cs);/退出临界区Else/没有-t的功能如果有-n和-l的功能:if(!strcmp(pi,-n)/-n 指定发送ICMP数据包个数i+;if(i=icount) for(int i_58=0;i_58(int )strlen(pi);i_58+)if(pii_589)/-n后面不是数字n=atoi(pi);/ -n后面数字字符串变为数字,变为发送包个数elseelse if(!strcmp(pi,-l)/-l 指定每个包附加数据的大小i+;if(i=icount) for(int i_76=0;i_76(int )strlen(pi);i_76+)if(pii_769)attachsize=atoi(pi);/数字字符串变为数字,存放为字节数else四、设计和调试分析:本人在程序程序中实现了PING 中:-t :校验与指定计算机的连接,直到用户中断。 -a :将地址解析为计算机名。 -n count :发送由 count 指定数量的 ECHO 报文,默认值为 4。 -l length :发送包含由 length 指定数据长度的 ECHO 报文。默认值为 32 字节。并且可以不按顺序输入。并且在其中有大部分错误的提示。体现出人性化。例如:如果没有打入字符,按下按钮是不能执行程序的。如果打入两个程序认为是网址的字符串,程序会给出下面提示:五、用户手册程序中对窗口处反敲鼠标会出现:后有帮助,或者直接按键盘F1。程序实现了PING 中的4个参数:-t :校验与指定计算机的连接,直到用户中断。 -a :将地址解析为计算机名。 -n count :发送由 count 指定数量的 ECHO 报文,默认值为 4。 -l length :发送包含由 length 指定数据长度的 ECHO 报文。默认值为 32 字节。使用方法参考文档中的测试。六、测试结果和小结1输入www时出现以下情况:2输入时出现以下情况:3输入“ -n 1 -l 13”出现以下情况:4输入“ -n”出现以下情况:5电脑上用IPCONFIG:然后输入“-a 99”出现以下情况:上面已经出现了本机名称LENOVO-6F576243。6输入“-t ”出现以下情况:按下CANCEL按钮结束后出现下面情况:通过上面测试基本完成了自己所定的要求。7小结通过本次计算机网络课程设计,我更加充分的理解了课本上的知识,并能够加以扩展,从而应用于实践当中,同时理解了winsock技术网络编程技术,熟悉了PING应用程序设计原理和程序流程,通过选择合适的开发环境,参考已有的PING程序功能,设计实现了ping功能的应用程序。通过本计算机网络的ping功能实现的课程设计,我基本掌握了路由器、交换机、网络适配器以及SMTP服务器、DNS服务器、FTPHTTP服务器的用途及配置维护方法,更是了解了ping命令的实用性,从而对我的网络知识有了更深一步的加深与延拓,是今后学习和工作中的一次宝贵经验。理论联系实践是学习的两个重要方面,两手都要抓,两手都要硬。最后感谢谢昕教授对我实验的指导。七、参考文献1 苏羽,王媛媛.Visual C+网络游戏建模与实现. 北京:科海电子出版社,200
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京住宅装修施工进度调整与材料替换合同
- 和三点水有关的课件
- 2025年的新锚协议
- 药物性精神障碍
- 功率 提高讲义-2024-2025学年人教版八年级物理下册
- 《市政工程桥梁施工质量验收规范》编制说明
- 放射治疗基础知识体系
- 呼吸道疾病职业防护课件
- 欧洲课件介绍
- 妇产科护理核心知识体系
- 危大工程管理台账
- 小学数学西南师大六年级下册五总复习 列方程解决问题D
- 一班二模后主题班会
- 医技科室交接班记录-影像科(本)
- 破产管理人工作履职报告(优选.)
- 集装箱码头堆场优化问题
- 《redis讲解》PPT课件
- 景观园林设计收费的标准
- 递进式流程通用模板PPT
- 脑损伤病情观察意识状态的分级
- 请假通用员工请假单模板
评论
0/150
提交评论