Winsock实验.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Winsock实验.ppt

Winsock实验 主要内容: 1.实验目的和要求 2.Winsock和套接口概念 3.套接口工作原理 4.点对点通信实验 实验目的和要求 【实验目的】 (1)熟悉Visual C++的基本操作。 (2)基本了解基于对话框的windows应用程序的编写过程。 (3)对于Windows Socket编程建立初步概念。 【实验要求】 (1)应用VisualC++中MFCCSocket类,实现网络数据传输。 (2)制作实用的局域网数据传输程序。 Winsock和套接口概念 基本概念 网际协议(Intemet Protocol,IP)是一种用于互联网的网络协议。从它的设计看来,它是一个无连接的协议,并不能保证数据投递万无一失。两个上层协议(TCP和UDP)依赖IP协议进行数据通信。Winsock规范定义如何使用API与TCP/IP协议族连接,以实现网络应用程序间的通讯。多个应用程序通过winsock中的API实现相互之间通讯。如图示 如果希望在Microsoft Windows下通过TCP和UDP协议建立网络应用程序,则需要使用Winsock套接口编程技术。 从图中看出Socket是应用层与TCP/IP协议族通信的中间软件层,是一组接口,对用户来说就是让Socket去组织数据,以符合指定的协议。 套接口,就是一个指向传输提供者的句柄。Win32中,套接口不同于文件描述符,所以它是一个独立的类型——SOCKET。套接字接口(SocketInterface)就是一种API , API实现的作用是把API定义的具体操作和对象映射到协议定义的抽象服务集上。 socket提供三种类型的套接字: 1.流式套接字(SOCK_STREAM) 提供一个面向连接的、可靠的数据传输服务,数据无差错、无重复地发送,且按发送顺序接收。 内设流量控制,避免数据流超限;数据被看作是字节流,无长度限制。 文件传输协议(FTP)即使用流式套接字。 2.数据报式套接字(SOCK_DGRAM) 提供一个无连接服务。 数据报以独立包形式被发送,不提供无错保证,数据可能丢失或重复,且接收顺序混乱。 网络文件系统(NFS)使用数据报式套接字。 3.原始式套接字(SOCK_RAW) 该接口允许对较低层协议,如IP、ICMP直接访问。 常用于检验新的协议实现或访问现有服务中配置的新设备 套接口工作原理 由socket提供三种类型的套接字知道服务方式主要有两种,一种是面向连接,一种是无连接的。面向连接服务器处理的请求往往比较复杂,不是一来一去的请求应答所能解决的,而且往往是并发服务器。无连接服务器一般都是面向事务处理的,一个请求、一个应答就完成了客户程序与服务程序之间的相互作用。使用面向连接的套接口编程,可以通过图来表示。 其中socket()、bind()、listen()、accept()、send()、recv()、sendto()、recvfrom()、closesocket()函数是TCP和UDP通信常使用的API函数。 套接口工作原理 套接口工作原理 套接口工作过程如下:服务器首先启动,通过调用socket()建立一个套接口,然后调用bind()将该套接口和本地网络地址联系在一起,再调用listen()使套接口做好侦听的准备,并规定它的请求队列的长度,之后,调用accept()来接收连接。客户在建立套接口后就可调用connect()和服务器建立连接。连接一旦建立,客户机和服务器之间就可以通过调用read()和write()来发送和接收数据。最后,待数据传送结束后,双方调用close()关闭套接口。 套接口工作原理 对于以上的套接口工作过程我们用VC++中的CSockct类进行网络二进制数据通信的连接 ,主要构造的过程如下表,我们实验过程也是按照表的过程进行的,构建流程如下表所示。 注意事项:利用cArchive类进行网络数据传输的操作固然方便直观,但是如果编写的程序是和别人的程序进行通信的话,就要注意对方的程序是否也用了CArchive类,否则会造成数据相互不能识别。 套接口工作原理 点对点通信实验 下面以一个最简单的点对点通信的聊天程序为例 说明:其中代码ABCDEFGHIJ 参见附属word文档 客户机/服务器模式是socket点对点网络程序典型的模式。它用到的方法也是面向连接TCP连接的套接字MFC典型方式。 其工作过程是:服务器首先启动,创建套接字后等待客户的连接;客户启动以后,创建套接字,然后和服务器建立连接;连接建立后,客户

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档