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


发布评论