3-WinSock编程基础(1).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基础 WinSock基础 3.1 基本概念 3.2 WinSock编程原理 3.3 WinSock I/O模型 3.4 WinSock 2的扩展特性 3.5 套接字选项和I/O控制命令 习题与思考题 3.1 基 本 概 念 3.1.1 套接字及类型   套接字(Socket)是网络通信的基本构件,是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和与之相连的进程。   Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。其定义类似于文件句柄的定义。 Socket提供三种类型的套接字: 流式套接字(SOCK_STREAM):提供一个面向连接的、可靠的数据传输服务,数据无差错、无重复地发送,且按发送顺序接收。内设流量控制,避免数据流超限;数据被看作是字节流,无长度限制。文件传输协议(FTP)即使用流式套接字。 数据报式套接字(SOCK_DGRAM):提供一个无连接服务。数据报以独立包形式被发送,不提供无错保证,数据可能丢失或重复,且接收顺序混乱。 原始式套接字(SOCK_RAW):该接口允许对较低层协议,如IP、ICMP直接访问。常用于检验新的协议实现或访问现有服务中配置的新设备。 3.1.2 网间进程通信   1. 端口   网络中可以被命名和寻址的通信端口是操作系统可分配的一种资源。 TCP/IP协议提出可协议端口(protocol port,简称端口)的概念,用于标识通信的进程。   端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序(进程)通过系统调用与某端口建立连接(binding)后,传输层传给该端口的数据都被相应进程所接收,相应进程发给传输层的数据都通过该端口输出。在TCP/IP协议的实现中,端口操作类似一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件。   2. 地址   网络通信中,通信的两个进程在不同的机器上。这两个机器可能位于不同的网络,这些网络通过网络互联设备(网关、网桥、路由器等)连接。因此需要如下三级寻址:   * 某一主机与多个网络相连,必须指定一特定网络地址;   * 网络上每一主机应有唯一的地址;   * 每一主机上的每一进程应有在该主机上的唯一标识符。   通常主机地址由网络ID和主机ID组成,在TCP/IP协议中用32位整数值表示;TCP和UDP均使用16位端口号标识用户进程。   3. 网络字节顺序   不同计算机存放多字节值的顺序不同,为保证数据的正确性,在网络协议中需要指定网络字节顺序。TCP/IP协议使用16位整数和32位整数的高位先存格式,它们均含在协议头文件中。   4. 连接   两个进程间的通信链路称为连接。连接在内部表现为一些缓冲区和一组协议机制,在外部表现出比无连接高的可靠性。   5. 半相关   综上所述,网络中用一个三元组(协议,本地地址,本地端口号)可以在全局唯一标志一个进程,这个三元组叫半相关(half-association),它指定连接的每半部分。   6. 全相关   一个完整的网间进程通信需要由两个进程组成,且只能使用同一种高层协议。即不可能通信的一端用TCP协议,另一端用UDP协议。因此一个完整的网间通信需要用一个五元组(协议,本地地址,本地端口号,远地地址,远地端口号)来标识,这个五元组叫全相关(association),即两个协议相同的半相关才能组成一个合适的相关,或完全指定组成一连接。 3.1.3 服务方式   1. 面向连接或无连接   面向连接服务是电话系统服务模式的抽象,每一次完整的数据传输都要经过建立连接、使用连接、终止连接的过程。在数据传输过程中,各数据分组但不携带目的地址,而使用连接号(connect ID)。本质上,连接是一个管道,收发数据不但顺序一致,而且内容相同。TCP协议提供面向连接的服务。   无连接服务是邮政系统服务的抽象,每个分组都携带完整的目的地址,各分组在系统中独立传送。无连接服务不能保证分组的先后顺序,不进行分组出错的恢复和重传,不保证传输的可靠性。UDP协议提供无连接的数据报服务。   2. 顺序   在网络传输中,两个连续报文在端到端通信中可能经过不同的路径,这样到达目的地址时的顺序可能与发送时不同。“顺序”是指接收数据顺序与发送数据顺序相同。TCP协议提供这项服务。   3. 差错控制   差错控制是保证应用程序接收的数据无差错的一种机制。检查差错的方法一般是采用检验“校验和”(Checksum)的方法,而保证传输无差错的方法是双方采用确认应答技术。TCP协议提供这项服务。   4. 流控制   流控制是在数据传输过

文档评论(0)

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

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

1亿VIP精品文档

相关文档