Winsock 内核套接字类别

Winsock 内核(WSK) 网络编程接口(NPI) 定义了五种不同的套接字类别: 基本套接字侦听套接字数据报套接字面向连接的套接字流套接字。 每个 WSK 套接字类别都具有独特的功能,并支持一组不同的套接字函数。 WSK 应用程序必须指定在创建新套接字时要创建的 WSK 套接字类别。 每个 WSK 套接字类别的用途如下所示:

基本套接字
基本套接字仅用于获取和设置传输栈套接字选项或执行套接字 I/O 控制操作。 基本套接字不能绑定到本地传输地址,不支持发送或接收网络数据。

侦听套接字
侦听套接字用于侦听来自远程传输地址的传入连接。 监听套接字的功能包括基本套接字的所有功能。

数据报套接字
数据报套接字用于发送和接收数据报。 数据报套接字的功能包括基本套接字的所有功能。

Connection-Oriented 套接字
面向连接的套接字用于通过已建立的连接发送和接收网络数据。 面向连接的套接字的功能涵盖了基本套接字的所有功能。

流套接字
流套接字用于侦听来自远程传输地址的传入连接(作为侦听套接字)或通过已建立的连接发送和接收网络数据(作为面向连接的套接字)。 在创建套接字时,如果尚不确定需要侦听套接字还是面向连接的套接字,应使用流套接字。 流套接字的功能包括基本套接字的所有功能。