第12章 WinSock网络程序设计ppt课件.ppt

第12章 WinSock网络程序设计ppt课件.ppt

ID:59197818

大小:505.00 KB

页数:194页

时间:2020-09-26

第12章 WinSock网络程序设计ppt课件.ppt_第1页
第12章 WinSock网络程序设计ppt课件.ppt_第2页
第12章 WinSock网络程序设计ppt课件.ppt_第3页
第12章 WinSock网络程序设计ppt课件.ppt_第4页
第12章 WinSock网络程序设计ppt课件.ppt_第5页
资源描述:

《第12章 WinSock网络程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第12章WinSock网络程序设计12.1WinSock的基本情况12.2套接字编程基本概念12.3Sockets库函数12.4典型套接字系统调用时序图12.5WindowsSockets对BerkeleySockets的扩充12.6基于WinSock函数的网络应用程序开发12.7基于网络通信类的网络应用程序开发12.8基于网络控件的网络应用程序开发思考题12.1WinSock的基本情况在Windows下的各种网络编程接口中,WindowsSockets脱颖而出,越来越得到大家的重视,这是因为WindowsSockets规范是一套开放的、支持多协议的Windows

2、下的网络编程接口。从1991年的1.0版本到1995年的2.0.8版本,WindowsSockets经过不断完善并在Intel、Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已经成为Windows网络编程事实上的标准。WindowsSocketsAPI是MicrosoftWindows的网络程序接口,它包括一个标准的BerkeleySockets功能调用的集合,以及为Windows所做的重要扩充。扩充的功能调用都以WSA(WindowsSocketsAsynchronous)作前缀,表明它们允许异步的I/O操作,并采用了符合

3、Windows消息机制的网络事件异步选择机制。这些扩充有利于应用程序开发者更好地利用Windows的消息驱动特性,设计出高性能的网络程序。WindowsSockets的实现一般都由两部分组成:开发组件和运行组件。开发组件是供程序员开发WindowsSockets应用程序使用的,包括介绍WindowsSockets实现的文档、WindowsSockets应用程序接口(API)引入库和一些头文件。头文件WINSOCK.H是WindowsSockets最重要的头文件,包括了WindowsSockets实现所定义的宏、常数值、数据结构和函数调用接口类型。运行组件是Wind

4、owsSockets应用程序接口的动态连接库(DLL),文件名为WINSOCK.DLL,应用程序在执行时通过装入它实现网络通信功能。12.2套接字编程基本概念12.2.1套接字套接字(Socket)是网络通信的基本构件,是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和一个与之相连的进程。套接字存在于通信区域中。通信区域也称为地址族,是一个抽象概念,主要用于把通过套接字通信的进程的共有特性综合在一起。套接字通常只与同一区域中的套接字交换数据(也可跨区域通信,但要执行某种转换进程之后才能实现)。WindowsSockets只支持一个通信区域:网际域(AF

5、-INET),这个域被使用网际协议族通信的进程使用。套接字都具有类型,是根据用户可见的通信特征进行分类的。应用程序被假定为只在同一类型的套接字间通信,不过只要通信协议支持,也可在不同类型的套接字间通信。TCP/IP的Socket提供三种类型的套接字:(1)流式套接字(SOCK_STREAM):提供一个面向连接的、可靠的数据传输服务,数据无差错、无重复地发送,且按发送顺序接收。内设流量控制,避免数据流超限;数据被看作是字节流,无长度限制。文件传送协议(FTP)即使用流式套接字。(2)数据报式套接字(SOCK_DGRAM):提供一个无连接服务。数据包以独立包形式被发送

6、,不提供无错保证,数据可能丢失、重复或接收顺序混乱。网络文件系统(NFS)使用数据报式套接字。(3)原始式套接字(SOCK_RAW):该接口允许对较低层协议(如IP、ICMP)直接访问。常用于检验新的协议实现或访问现有服务中配置的新设备。12.2.2网间进程通信1.端口网络中可以被命名和寻址的通信端口是操作系统可分配的一种资源。按照OSI协议的描述,传输层与网络层在功能上的最大区别是传输层提供进程通信能力。从这个意义上讲,网络通信的最终地址不仅仅是主机地址,还包括可以描述进程的某种标识符。为此,TCP/IP协议提出了协议端口(protocolport,简称端口)的

7、概念,用于标识通信的进程。端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序(进程)通过系统调用与某端口建立连接(binding)后,传输层传给该端口的数据都被相应进程所接收,相应进程发给传输层的数据都通过该端口输出。在TCP/IP协议的实现中,端口操作类似一般的I/O操作,进程获取一个端口,相当于获取本地惟一的I/O文件,可以用一般的读写原语访问。类似于文件描述符,每个端口都拥有一个叫端口号(portnumber)的整数型标识符,用于区别不同的端口。由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独

8、立。端口号

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。