基于VC-的Winsock-的文件传输程序的设计.docx

基于VC-的Winsock-的文件传输程序的设计.docx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于VC-的Winsock-的文件传输程序的设计

基于VC 的Winsock 的文件传输程序的设计 环境要求:Windows95/98/2000/XP功能要求:能将键盘上指定的文件发送到另一台计算机上;能将接收到的数据显示到屏幕窗口内,并显示收到文件的字节数和文件传输速率;设计目标用TC、Visual BASIC、Visual C++、Java 等编程工具和路由器、交换机、主机等网络设备提供的接口,解决网络用户之间的交互式对话问题,或计算通信网络的延迟、信道容量分配,或编码分析、通信协议分析,网络互连互通、网络规划。进一步深入掌握网络设计和通信程序的设计原理。使学生对计算机通信网络的设计实现有较深的了解,培养较高的通信网络设计能力。本课设实验将基于2013版Visual Studio进行WINSOCK的文件传输的编程实现。在WINDOWS95/98,WINDOWSNT进行WINSOCK开发使用的编程语言有很多,VC++,JAVA,DELPHI,VB等。其中VC时使用最普遍,和WINSOCK结合最紧密的。并且VC++对原来的WindowsSockets库函数进行了一系列封装,继而产生了CAsynSocket、CSocket、CSocketFile等类,它们封装着有关Socket的各种功能,是编程变得更加简单。SOCKET实际在计算机中提供了一个通信端口,可以通过这个端口与任何一个具有SOCKET接口的计算机通信。应用程序在网络上传输,接收的信息都通过这个SOCKET接口来实现。在应用开发中就像使用文件句柄一样,可以对SOCKET句柄进行读,写操作。设计原理套接字(Socket) 是一种网络编程接口,它是对通信端点的一种抽象,提供了一种发送和接收数据的机制。套接字有两种类型:流式套接字(St ream Socket s) 和数据报套接字(Datagram Socket s) 。数据报套接字提供了一种不可靠的、非连接的数据包通信方式,它使用用户数据报协议(UDP) ;而流式套接字可以将数据按顺序无重复地发送到目的地,它提供的是一种可靠的面向连接的数据传输方式。使用这种套接字可以保证数据传输的正确性,它使用的是传输控制协议( TCP) 。本文将使用典型的面向连接的流式套接字。在VC中进行WINSOCK的API编程开发,需要使用到下面三个文件: 1 WINSOCK.H: 这是WINSOCK API的头文件。2 WSOCK32.LIB: WINSOCK API连接库文件。 3 WINSOCK.DLL: WINSOCK的动态连接库,位于WINDOWS的安装目录下。WINSOCK接口在WINDOWS编程环境中的位置如下图所示:================== ================== 可以看到,WINSOCK。DLL位于TCP/IP协议栈和应用程序之间。也就是说,WINSOCK管理与TCP/IP协议的接口。在网络编程中最常用的方案便是客户机/服务器模型。在这种方案中客户应用程序向服务器程序请求服务。一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户对这个服务的地址提出了连接请求。在这个时刻,服务程序被“惊醒”并且为客户提供服务-对客户的请求作出适当的反应。虽然基于连接协议(流套接字)的服务是设计客户机/服务器应用程序时的标准,但有些服务也是可以通过无连接协议(数据报套接字)提供的。设计方法3.1 流式套接字服务器端操作3.1.1初始化WinSock在使用WinSock API 进行编程前,必须对它进行初始化,可用WSAStartup () 函数来完成,只有此函数调用成功后,应用程序才可以再调用Windows Sock2et s 中其他的API 函数。该函数的原型如下:int WSAStartup (WORD wVersionRequested ,L P2WSADATA lpWSAData) ;其中第一个参数指定了应用程序要使用的WinSock 规范的最高版本;第二个参数指定了一个指向WSADATA 结构的指针。另外,WSACleanup()是结束 Windows Sockets DLL 的使用。说明: 当应用程序不再需要使用 Windows Sockets DLL时,须调用此函数来注销使用,以便释放其占用的资源。下面演示如何在程序中调用该函数。# include winsock. h  / / For Winsock2 ,include winsock2. hWORD wVersion ;WSADATA wsaData ;wVersion = MAKEWORD(1 ,1) ;  / / 本机Socket版本号1. 1int error = WSAStartup (wVersion , wsaData) ;if (error

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档