计算机网络方面有关论文范文例文,与WINSOCK在网络测试编程中的相关本科毕业论文
本论文是一篇计算机网络方面有关本科毕业论文,关于WINSOCK在网络测试编程中的相关毕业论文格式模板范文。免费优秀的关于计算机网络及参考文献及计算机网络技术方面论文范文资料,适合计算机网络论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
摘 要:计算机网络技术已经飞速,越来越多的深入到各行各业中,对于网络应用技术的编程方法与技巧也广为大家了解和喜爱.本文通过对网络最基本的应用实例,阐述了WINSOCK在网络测试编程中的广泛应用.
关 键 词:计算机网络WINSOCK测试编程
中图分类号:TP393文献标识码:A文章编号:1007-9416(2012)08-0023-01
1.引言
当前在计算机应用中,Windows与网络已是最为广泛和不可缺少的应用.在Windows下的各种网络编程接口中,WindowsSockets越来越得到大家的重视,这是因为WindowsSockets规范是一套开放的、支持多种协议的Windows下的网络通信编程的API接口,也是Windws网络编程的事实标准,研究和开发在Windows下的网络编程技术具有普遍的应用价值.
本文通过对网络最基本的应用实例——网络测试程序的分析,使初学网络编程的人对WindowsSockets的使用有一个基本的了解.网络测试是网络编程中最基本的应用,用来测试与网络上另一个主机的网络连接是否正常.工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文原样传回给发送者,发送者通过与原报文对比及发送和接收报文的时间差得知网络通讯的好坏.下面就测试网络的C++程序进行分析,来了解WindowsSockets的使用.
2.网络测试程序的原理
通过向测试机发送ICMP回应请求消息,并接收ICMP回应回复消息,通过这些消息来判断与主机的网络连通状况.
ICMP(InterControlMessageProtocol)即Inter控制消息协议(RFC-792),它是TCP/IP协议集中的一个子协议,属于网络层协议.应用中,它使用IP做为底层支持,但ICMP不是高层协议,而是IP层的协议.通常ICMP报文被IP层或更高层协议(TCP或UDP)使用,每一种IP模块必须实现ICMP.ICMP报文有两种类型,ICMP错误报告报文和ICMP查询报文,每个ICMP报头均包含类型、编码和校验,其余选项则随ICMP的功能不同而不同.这里只使用ICMP报文中的两种:请求回送和请求回应.
本篇论文url http://www.sxsky.net/benkelunwen/060301460.html
网络测试程序发送ICMP回应请求消息并记录收到ICMP回应回复消息,通过这些消息作为测试网络或主机是否正常的一个依据.
3.网络测试程序分析
要使用WinSock在程序开始应有#include
SOCKETrawSocket等于socket(AF_INET,SOCK_RAW,IPPROTO_ICMP),
如果rawSocket不是SOCKET_ERROR,说明创建成功,就可以使用此Sock了,把ICMP设为请求回送方式(ICMP_ECHOREQ),填充当前时间及其它项目,其中校验和使用网际校验和算法,把被校验的数据16位进行累加,然后取反码,若数据字节长度为奇数,则数据尾部补一个字节的0以凑成偶数.
向要测试主机的IP地址发送ICMP包,发送程序如下:
intSendEchoRequest(SOCKETs,LPSOCKADDR_INlpstToAddr){
staticECHOREQUESTechoReq,
staticnId等于1,
staticnSeq等于1,
intnRet,
//填写ICMP头部为响应请求
echoReq.icmpHdr.Type等于ICMP_ECHOREQ,
echoReq.icmpHdr.Code等于0,
echoReq.icmpHdr.Checksum等于0,
echoReq.icmpHdr.ID等于nId++,
echoReq.icmpHdr.Seq等于nSeq++,
//置发送数据
for(nRet等于0,nRet echoReq.cData[nRet]等于''''+nRet, //记下发送的时间标记 echoReq.dwTime等于GetTickCount(), //计算校验和 echoReq.icmpHdr.Checksum等于in_cksum((u_short*)&echoReq,sizeof(ECHOREQUEST)), //发送响应请求ICMP nRet等于sendto(s,(LPSTR)&echoReq,sizeof(ECHOREQUEST),0, (LPSOCKADDR)lpstToAddr,sizeof(SOCKADDR_IN)), if(nRet等于等于SOCKET_ERROR) ReportError("sendto()"), return(nRet), } 运用WinSock的select(),来接收主机返回的数据包, intWaitForEchoReply(SOCKETs){ structtimevalTimeout, fd_setreadfds, readfds.fd_count等于1, readfds.fd_array[0]等于s, Timeout.tv_sec等于5, Timeout.tv_usec等于0, return(select(1,&readfds,NULL,NULL,&Timeout)), } Timeout是超时时间,它有两个长整字段,秒和微秒,超过该设定值返回0.select()可以完成非阻塞式即执行此函数时程序不必等待事件的发生,以返回值的不同来反映函数的执行情况,根据select()返回值,结合接收和发送数据的时间差,就可以知道网络的状态和通讯质量的好坏. WindowsSockets是Windows下开放的、支持多种协议的网络编程接口.提供给应用程序开发者一套简单的API,它包含了丰富的Windows扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程,
有关论文范文主题研究:
计算机网络类论文范文
大学生适用:
电大论文、硕士毕业论文
相关参考文献下载数量:
63
写作解决问题:
怎么写
毕业论文开题报告:
文献综述、论文小结
职称论文适用:
期刊发表、高级职称
所属大学生专业类别:
怎么写
论文题目推荐度:
经典题目
4.结语
计算机网络方面有关论文范文例文
参考文献
[1]张晓明,陈明.计算机网络编程技术[M].北京:中国铁道出版社,2009,10.
[2]施炜.WindowsSockets规范及应用[M].北京:电子工业出版社,1997.2.
[3]郑阿奇.VisualC++网络编程[M].北京:电子工业出版社,1997.2.
计算机网络方面有关论文范文例文,与WINSOCK在网络测试编程中的相关本科毕业论文参考文献资料: