Winsock 内核套接字类别

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

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

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

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

面向连接的套接字
面向连接的套接字用于通过已建立的连接发送和接收网络数据。 面向连接的套接字的功能包括基本套接字的所有功能。

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