1、 课程设计报告 设计名称:设计名称: 网络协议编程应用课程设计 系系 (院) :(院) : 机算计科学学院 专业班级:专业班级: 网络 11003 班 姓姓 名:名: 学学 号:号: 指导教师:指导教师: 设计时间:设计时间: 2013.6.7 - 2013.6.18 设计地点:设计地点: 四号楼 1 楼 2 号机房 一、目的与任务一、目的与任务 网络协议编程应用课程设计是TCP/IP 协议分析课程后的一 个重要的教学环节, 是对学生进行的一次较为全面的网络协议编程方 面的训练。其基本目的是: (1)培养学生理论联系实际的设计思想,训练综合运用所学的 基础理论知识, 结合生产实际分析和解决网络
2、应用中问题的能力,从 而使基础理论知识得到巩固和加深。 (2)通过编程实践学习掌握网络协议的运行原理。 (3)练习多线程的网络编程模式,为以后开发真实的应用协议 打下基础。 二、基本要求二、基本要求 (1)合理设计系统框图和程序结构图。 (2)根据系统框图设计,编写程序代码。 (3)编写程序说明书。 三、实验环境三、实验环境 安装有 vs2010 以及虚拟机的计算机 四四、课程设计内容、课程设计内容 (1) 、熟悉开发工具 Visual Studio 是微软公司推出的开发环境。是目前最流行的 Windows 平台应用程序开发环境。Visual Studio 2010 版本于 2010 年 4
3、月 12 日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得 更加简单明了。Visual Studio 2010 同时带来了 NET Framework 4.0、 Microsoft Visual Studio 2010 CTP( Community Technology Preview-CTP),并且支持开发面向 Windows 7 的应用程序。除了 Microsoft SQL Server,它还支持 IBM DB2 和 Oracle 数据库。学习使 用好 vs2010 对于我们来说有很大意义。 (2) 、套接字编程练习 使用 TCP/IP 协议的应用程序通常采用两种应用编程接口(
4、API): socket 和 TLI(运输层接)。前者有时称作“Berkeley socket“,表明它 是从伯克利版发展而来的。后者起初是由 AT wVersionRequested:指定准备加载Windows Sockets动态库的版本。 高字节指定所需要库文件的副版本,低字节指定主版本。在应用程序中 可以使用 MAKEWORD(X,Y)方便指定该参数。X 是高位字节,Y 是低位字节 lpWSAData:指向 lpwsadata 结构的指针, 该参数返回被加载动态库的有 关信息。 WSADATA 结构声明如下: #define WSADESCRIPTION_LEN 256 #define
5、WSASYS_STATUS_LEN 12 struct WSAData WORD wVersion; WORD wHighVersion; char szDescriptionWSADESCRIPTION_LEN+1; char szSystemStatusWSASYSSTATUS_LEN+1; unsigned short iMaxSockets; unsigned short iMaxUdpDg; char *lpVendorInfo; WSADATA 结构被用来保存函数 WSAStartup 返回的 Windows Sockets 初 始化信息。 wVersion :Windows So
6、ckets DLL 期望调用者使用的 Windows Sockets 规范的版本。 高位字节存储副版本号, 低位字节存储主版本号,可以用 WORD MAKEWORD(BYTE,BYTE ) 返回这个值,例如:MAKEWORD(1,1) wHighVersion :这个DLL能够支持的Windows Sockets规范的最高版本。 通常它与 wVersion 相同。 szDescription :以 null 结尾的 ASCII 字符串,Windows Sockets DLL 将对 Windows Sockets 实现的描述拷贝到这个字符串中,包括制造商标 识。文本(最多可以有 256 个字符)可以包含任何字符,但是要注意不 能包含控制字符和格式字符, 应用程序对其最可能的使用方式是把它 (可 能被截断)显示在在状态信息中。 szSystemStatus :以 null 结尾的 ASCII 字符串,Wi