Winsock 是什么? • Window s 下网络编程的规范 • Window s 下得到广泛应用的、开放的、支持多种协议的网络编程接口。 • 已成为 Window s 网络编程的事实上的标准。 Window s socket 规范 • Window s Socket 规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。 Socket 原理 • Socket 通常称为套接字、套管、插口,是两个程序间通信链路的端点。 • Socket 实际上是一个编程接口,为网络应用程序提供各种接口函数。 Winsock 基本概念 • 多数网络协议都由软件实现,而且几乎所有计算机系统都将网络协议的实现作为操作系统的一部分,操作系统提供给用户的程序接口叫做应用程序编程接口(AP I )。 • 套接字接口(Socket Interface)就是一种 API 套接字及类型 • 套接字(socket)是网络通信的基本构件,是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和与之相连的进程。 • 套接字存在于通信区域中,通信区域也称地址族 • 套接字通常只与同一区域中的套接字交换数据(也可跨区域通信,但要执行某种转换进程之后才能实现)。 • TCP/IP 的socket 提供三种类型的套接字: 流式套接字(SOCK_STREAM) • 提供一个面向连接的、可靠的数据传输服务, • 内设流量控制,避免数据流超限;数据被看作是字节流,无长度限制。 • 文件传输协议(FTP)即使用流式套接字。 数据报式套接字(SOCK_DGRAM) • 提供一个无连接服务。 • 数据报以独立包形式被发送,不提供无错保证,数据可能丢失或重复,且接收顺序混乱。 • 网络文件系统(NFS)使用数据报式套接字。 原始式套接字(SOCK_RAW) • 该接口允许对较低层协议,如IP、ICMP 直接访问。 • 常用于检验新的协议实现或访问现有服务中配置的新设备。 • 服务方式 面向连接(虚电路) • 面向连接服务是电话系统服务模式的抽象,每一次完整的数据传输都要经过建立连接、使用连接、终止连接的过程。 • 在数据传输过程中,不携带目的地址,而使用连接号(connect ID)。 • 本质上,连接是一个管道,收发数据不但顺序一致,而且内容相同。TCP 协议提供面向连接的虚电路。 无连接 • 无连接服务是邮政系统服务的抽象,每个分组都携带完整的目的地址,各分组在系统中独立传送。 • 无连接服务不能保证分组的先后顺序,不进行分组出错的恢复和重传,不保证传输...