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) • 该接口允许对较低层协议,如