以下函数api来自: microsoft Documentation ,本博客仅提供索引链接。
提示:可以借助浏览器自动翻译功能阅读参考文档。(英语水平高的人请忽略🤦♂️)
目录
Winsock.h
1. api接口
winsock.h 包含以下编程接口:(注:以下内容为机翻结果)
Title(标题) | Description(描述) |
---|---|
__WSAFDIsSet | __WSAFDIsSet指定套接字是否包含在一组套接字描述符中。 |
AcceptEx | 接受新连接,返回本地和远程地址,并接收客户端应用程序发送的第一个数据块。注意:此功能是特定于 Microsoft 的 Windows 套接字规范的扩展。. |
bind | 绑定函数将本地地址与套接字关联。 |
closesocket | 关闭套接功能关闭现有套接字。 |
FD_SET | Fd_set套接字(Winsock)函数和服务提供商使用该结构将套接字放入一组。 |
GetAcceptExSockaddrs | 分析从对 AcceptEx 函数的调用获得的数据,并将本地和远程地址传递到 sockaddr 结构。注意:此功能是特定于 Microsoft 的 Windows 套接字规范的扩展。. |
gethostbyaddr | gethostbyaddr 不再建议在 Windows 套接字 2 时使用。 |
gethostbyname | gethostbyname 函数从主机数据库中检索与主机名对应的主机信息。 |
gethostname | gethostname 函数检索本地计算机的标准主机名。 |
getpeername | getpeername 函数检索套接字连接到的对等体的地址。 |
getprotobyname | getprotobyname 函数检索与协议名称对应的协议信息。 |
getprotobynumber | getprotobyumber 函数检索与协议编号对应的协议信息。 |
getservbyname | getservbyname 函数检索与服务名称和协议对应的服务信息。 |
getservbyport | getservbyport 函数检索与端口和协议对应的服务信息。 |
getsockname | getsockname 函数检索套接字的本地名称。 |
getsockopt | getsockopt 函数检索套接字选项。 |
htonl | htonl 函数将u_long转换为 TCP/IP 网络字节顺序(大端)。 |
htons | htons 函数将u_short转换为 TCP/IP 网络字节顺序(大端)。 |
inet_addr | 函数inet_addr一个包含 IPv4 虚线十进制地址的字符串转换为具有该结构IN_ADDR地址。 |
inet_ntoa | 该inet_ntoa将 (Ipv4) 互联网网络地址转换为互联网标准虚线十进制格式的 ASCII 字符串。 |
ioctlsocket | ioctlsocket 功能控制套接字的 I/O 模式。 |
ntohl | ntohl 函数将 TCP/IP 网络u_long转换为主机字节顺序(在英特尔处理器上几乎没有端)。 |
ntohs | ntohs 函数将 u_short从 TCP/IP 网络字节顺序转换为主机字节顺序(在英特尔处理器上是小端)。 |
recv | 从连接的套接字或无边界无连接套接接收数据。 |
recvfrom | recvfrom 函数接收数据报并存储源地址。 |
sendto | sendto 函数将数据发送到特定目标。 |
setsockopt | 设置套接字选项。 |
shutdown | 关机功能禁用套接字上的发送或接收。 |
TransmitFile | 通过连接的套接字句柄传输文件数据。 |
WSAAsyncGetHostByAddr | WSASyncGetHostByAddr 函数异步检索与地址对应的主机信息。注意 WSASyncGetHostByAddr 函数不是为提供多个地址的并行分辨率而设计的。 |
WSAAsyncGetHostByName | WSASyncGetHostByName 函数异步检索与主机名对应的主机信息。注意 WSAAsyncGetHostByName 函数不是为提供多个名称的并行分辨率而设计的。 |
WSAAsyncGetProtoByName | WSAAsyncGetProtoByName 函数异步检索对应于协议名称的协议信息。 |
WSAAsyncGetProtoByNumber | WSASyncGetProtoByNumber 函数异步检索对应于协议编号的协议信息。 |
WSAAsyncGetServByName | WSASyncGetServByName 函数异步检索对应于服务名称和端口的服务信息。 |
WSAAsyncGetServByPort | WSASyncGetServByPort 函数异步检索与端口和协议对应的服务信息。 |
WSAAsyncSelect | 请求基于 Windows 消息的套接字网络事件通知。 |
WSACancelAsyncRequest | WSACancelAsyncRequest 函数将取消不完整的异步操作。 |
WSACleanup | WSACleanup 函数终止对WS2_32.dll。 |
WSAGetLastError | 返回上次失败的 Windows 套接字操作的错误状态。 |
WSARecvEx | 从连接的套接字或无边界无连接套接接收数据。 |
WSASetLastError | WSASetLastError 函数设置可以通过 WSAGetLast 错误函数检索的错误代码。 |
WSAStartup | 通过进程启动使用 Winsock DLL。 |
2. 数据结构信息(Structures)
标题 | 描述 |
---|---|
fd_set | Fd_set套接字(Winsock)函数和服务提供商使用该结构将套接字放入一组。 |
HOSTENT | 函数使用主机结构来存储有关给定主机的信息,如主机名、IPv4 地址等。 |
LINGER | 维护有关特定套接字的信息,指定当数据排队要发送和在套接字上调用关闭套接功能时,该套接字应如何运行。 |
PROTOENT | 原型结构包含对应于给定协议名称的名称和协议编号。 |
SERVENT | 服务结构用于存储或返回给定服务名称的名称和服务编号。 |
SOCKADDR | 袜子结构因所选协议而异。 |
SOCKADDR_IN | 袜子结构因所选协议而异。 |
TIMEVAL | 时间值结构用于指定时间间隔。它与伯克利软件分发 (BSD) Time.h 头文件关联。 |
TRANSMIT_FILE_BUFFERS | 系统TRANSMIT_FILE_BUFFERS指定在传输文件功能文件传输操作期间文件数据之前和之后传输的数据。 |
WSADATA | 包含有关 Windows 套接字实现的信息。 |
Winsock2.h
1. api接口
winsock2.h 包含以下编程接口:(注:以下内容为机翻结果)
Title(标题) | Description(描述) |
---|---|
__WSAFDIsSet | __WSAFDIsSet指定套接字是否包含在一组套接字描述符中。 |
accept | 接受函数允许在套接字上尝试传入连接。 |
bind | 绑定函数将本地地址与套接字关联。 |
closesocket | 关闭套接功能关闭现有套接字。 |
connect | 连接功能建立与指定套接字的连接。 |
FD_SET | Fd_set套接字(Winsock)函数和服务提供商使用该结构将套接字放入一组。 |
gethostbyaddr | gethostbyaddr 不再建议在 Windows 套接字 2 时使用。 |
gethostbyname | gethostbyname 函数从主机数据库中检索与主机名对应的主机信息。 |
gethostname | gethostname 函数检索本地计算机的标准主机名。 |
GetHostNameW | GetHostNameW 函数将本地计算机的标准主机名检索为 Unicode 字符串。 |
getpeername | getpeername 函数检索套接字连接到的对等体的地址。 |
getprotobyname | getprotobyname 函数检索与协议名称对应的协议信息。 |
getprotobynumber | getprotobyumber 函数检索与协议编号对应的协议信息。 |
getservbyname | getservbyname 函数检索与服务名称和协议对应的服务信息。 |
getservbyport | getservbyport 函数检索与端口和协议对应的服务信息。 |
getsockname | getsockname 函数检索套接字的本地名称。 |
getsockopt | getsockopt 函数检索套接字选项。 |
htond | 将双精度值从主机转换为 TCP/IP 网络字节顺序(大端)。 |
htonf | 将浮点从主机转换为 TCP/IP 网络字节顺序(大端)。 |
htonl | htonl 函数将u_long转换为 TCP/IP 网络字节顺序(大端)。 |
htonll | 将未签名__int64从主机转换为 TCP/IP 网络字节顺序(大端)。 |
htons | htons 函数将u_short转换为 TCP/IP 网络字节顺序(大端)。 |
inet_addr | 函数inet_addr一个包含 IPv4 虚线十进制地址的字符串转换为具有该结构IN_ADDR地址。 |
inet_ntoa | 该inet_ntoa将 (Ipv4) 互联网网络地址转换为互联网标准虚线十进制格式的 ASCII 字符串。 |
ioctlsocket | ioctlsocket 功能控制套接字的 I/O 模式。 |
listen | 侦听函数将套接字位于其侦听传入连接的状态。 |
ntohd | 将未签名的__int64 TCP/IP 网络顺序转换为主机字节顺序(在英特尔处理器上是小字节顺序),并返回双精度。 |
ntohf | 将未签名的__int32 TCP/IP 网络顺序转换为主机字节顺序(在英特尔处理器上是小端),并返回浮点。 |
ntohl | ntohl 函数将 TCP/IP 网络u_long转换为主机字节顺序(在英特尔处理器上几乎没有端)。 |
ntohll | 将未签名的__int64 TCP/IP 网络顺序转换为主机字节顺序(在英特尔处理器上几乎没有最终用户)。 |
ntohs | ntohs 函数将 u_short从 TCP/IP 网络字节顺序转换为主机字节顺序(在英特尔处理器上是小端)。 |
recv | 从连接的套接字或无边界无连接套接接收数据。 |
recvfrom | recvfrom 函数接收数据报并存储源地址。 |
select | 选择函数确定一个或多个套接字的状态,如有必要,等待执行同步 I/O。 |
send | 在连接的套接字上发送数据。 |
sendto | sendto 函数将数据发送到特定目标。 |
setsockopt | 设置套接字选项。 |
shutdown | 关机功能禁用套接字上的发送或接收。 |
socket | 套接字功能创建绑定到特定传输服务提供商的套接字。 |
WSAAccept | WSAAccept 函数有条件地接受基于条件函数的返回值的连接,提供服务质量流规范,并允许传输连接数据。 |
WSAAddressToStringA | 将 sockaddr 结构的所有组件转换为地址的人类可读字符串表示形式。 |
WSAAddressToStringW | 将 sockaddr 结构的所有组件转换为地址的人类可读字符串表示形式。 |
WSAAsyncGetHostByAddr | WSASyncGetHostByAddr 函数异步检索与地址对应的主机信息。注意 WSASyncGetHostByAddr 函数不是为提供多个地址的并行分辨率而设计的。 |
WSAAsyncGetHostByName | WSASyncGetHostByName 函数异步检索与主机名对应的主机信息。注意 WSAAsyncGetHostByName 函数不是为提供多个名称的并行分辨率而设计的。 |
WSAAsyncGetProtoByName | WSAAsyncGetProtoByName 函数异步检索对应于协议名称的协议信息。 |
WSAAsyncGetProtoByNumber | WSASyncGetProtoByNumber 函数异步检索对应于协议编号的协议信息。 |
WSAAsyncGetServByName | WSASyncGetServByName 函数异步检索对应于服务名称和端口的服务信息。 |
WSAAsyncGetServByPort | WSASyncGetServByPort 函数异步检索与端口和协议对应的服务信息。 |
WSAAsyncSelect | 请求基于 Windows 消息的套接字网络事件通知。 |
WSACancelAsyncRequest | WSACancelAsyncRequest 函数将取消不完整的异步操作。 |
WSACancelBlockingCall | WSACancelBlockCall 功能已按照 Windows 套接字 2 规范(修订版 2.2.0)删除。 |
WSACleanup | WSACleanup 函数终止对WS2_32.dll。 |
WSACloseEvent | WSACloseevent 函数关闭一个打开的事件对象句柄。 |
WSAConnect | WSAConnect 函数建立连接到另一个套接字应用程序,交换连接数据,并基于指定的 FLOWSPEC 结构指定所需的服务质量。 |
WSAConnectByList | 建立与一组目标地址(主机名和端口)表示的可能终结点集合中的一个的连接。 |
WSAConnectByNameA | 建立与指定主机和端口的连接。 |
WSAConnectByNameW | 建立与指定主机和端口的连接。 |
WSACreateEvent | WSACreateevent 函数将创建一个新的事件对象。 |
WSADuplicateSocketA | WSADuplicateSocket 函数返回WSAPROTOCOL_INFO个结构,可用于为共享套接字创建新的套接字描述符。WSADuplicateSocket 功能不能在启用 QOS 的套接字上使用。 |
WSADuplicateSocketW | WSADuplicateSocket 函数返回WSAPROTOCOL_INFO个结构,可用于为共享套接字创建新的套接字描述符。WSADuplicateSocket 功能不能在启用 QOS 的套接字上使用。 |
WSAEnumNameSpaceProvidersA | WSAEnumNameSpace 提供程序函数检索有关可用命名空间提供程序的信息。 |
WSAEnumNameSpaceProvidersExA | 检索有关可用命名空间提供程序的信息。 |
WSAEnumNameSpaceProvidersExW | 检索有关可用命名空间提供程序的信息。 |
WSAEnumNameSpaceProvidersW | WSAEnumNameSpace 提供程序函数检索有关可用命名空间提供程序的信息。 |
WSAEnumNetworkEvents | WSAEnumNetwork 事件功能可发现指示的套接字的网络事件、清除内部网络事件记录和重置事件对象(可选)。 |
WSAEnumProtocolsA | WSAEnumProtocol 函数检索有关可用传输协议的信息。 |
WSAEnumProtocolsW | WSAEnumProtocol 函数检索有关可用传输协议的信息。 |
WSAEventSelect | WSAEventSelect 函数指定要与网络事件的指定FD_XXX对象。 |
WSAGetLastError | 返回上次失败的 Windows 套接字操作的错误状态。 |
WSAGetOverlappedResult | WSAGet 上列表结果函数检索指定套接字上重叠操作的结果。 |
WSAGetQOSByName | WSAGetQOSByName 函数基于命名模板初始化 QOS 结构,或者提供缓冲区来检索可用模板名称的枚举。 |
WSAGetServiceClassInfoA | WSAGetServiceClassInfo 函数从指定的命名空间提供程序检索与指定服务类相关的类信息(架构)。 |
WSAGetServiceClassInfoW | WSAGetServiceClassInfo 函数从指定的命名空间提供程序检索与指定服务类相关的类信息(架构)。 |
WSAGetServiceClassNameByClassIdA | WSAGet 服务类名称比ClassId函数检索与指定类型关联的服务的名称。此名称是通用服务名称,如 FTP 或 SNA,而不是该服务的特定实例的名称。 |
WSAGetServiceClassNameByClassIdW | WSAGet 服务类名称比ClassId函数检索与指定类型关联的服务的名称。此名称是通用服务名称,如 FTP 或 SNA,而不是该服务的特定实例的名称。 |
WSAHtonl | WSAHtonl 函数将u_long字节顺序转换为网络字节顺序。 |
WSAHtons | WSAHtons 函数将u_short从主机字节顺序转换为网络字节顺序。 |
WSAInstallServiceClassA | WSAInstall 服务类函数在命名空间中注册服务类架构。 |
WSAInstallServiceClassW | WSAInstall 服务类函数在命名空间中注册服务类架构。 |
WSAIoctl | WSAIoctl 函数控制套接字的模式。 |
WSAIsBlocking | 此功能已按照 Windows 套接字 2 规范 2.2.0 版本删除。 |
WSAJoinLeaf | WSAJoinLeaf 函数将叶节点加入到多点会话中,交换连接数据,并基于指定的 FLOWSPEC 结构指定所需的服务质量。 |
WSALookupServiceBeginA | WSALookupServiceBegin 函数启动受 WSAQUERYSET 结构中包含的信息约束的客户端查询。 |
WSALookupServiceBeginW | WSALookupServiceBegin 函数启动受 WSAQUERYSET 结构中包含的信息约束的客户端查询。 |
WSALookupServiceEnd | 在以前调用 WSALookupServiceBegin 和 WSAlookupServiceNext 之后,调用 WSALookupServiceend 函数以释放句柄。 |
WSALookupServiceNextA | WSALookupServiceNext 函数是在从上一个调用 WSALookupServiceBegin 获取句柄后调用的,以便检索请求的服务信息。 |
WSALookupServiceNextW | WSALookupServiceNext 函数是在从上一个调用 WSALookupServiceBegin 获取句柄后调用的,以便检索请求的服务信息。 |
WSANSPIoctl | 使开发人员能够对注册命名空间进行 I/O 控制调用。 |
WSANtohl | WSANtohl 函数将u_long从网络字节顺序转换为主机字节顺序。 |
WSANtohs | WSANtohs 函数将u_short从网络字节顺序转换为主机字节顺序。 |
WSAPoll | WSAPoll 函数确定一个或多个套接字的状态。 |
WSAProviderConfigChange | WSAProviderConfigChange 函数在更改提供程序配置时通知应用程序。 |
WSARecv | 从连接的套接字或无边界无连接套接接收数据。 |
WSARecvDisconnect | WSARecvDisconnect 功能终止套接的接收,并在套接字面向连接时检索断开连接数据。 |
WSARecvFrom | 接收数据报并存储源地址。 |
WSARemoveServiceClass | WSARemoveServiceClass 函数从注册表中永久删除服务类架构。 |
WSAResetEvent | WSAResetEvent 函数将指定事件对象的状态重置为非信号。 |
WSASend | 在连接的套接字上发送数据。 |
WSASendDisconnect | WSASendDisconnect 函数启动套接字的连接终止并发送断开连接数据。 |
WSASendMsg | 从已连接和未连接的套接字发送数据和可选控制信息。注意:此功能是特定于 Microsoft 的 Windows 套接字规范的扩展。. |
WSASendTo | 在适用的情况下,使用重叠的 I/O 将数据发送到特定目标。 |
WSASetBlockingHook | 此功能已按照 Windows 套接字 2 规范 2.2.0 版本删除。 |
WSASetEvent | WSASetEvent 函数将指定事件对象的状态设置为信号。 |
WSASetLastError | WSASetLastError 函数设置可以通过 WSAGetLast 错误函数检索的错误代码。 |
WSASetServiceA | WSASetService 函数在一个或多个命名空间中注册或从注册表中删除服务实例。 |
WSASetServiceW | WSASetService 函数在一个或多个命名空间中注册或从注册表中删除服务实例。 |
WSASocketA | WSASocket 函数创建绑定到特定传输服务提供商的套接字。 |
WSASocketW | WSASocket 函数创建绑定到特定传输服务提供商的套接字。 |
WSAStartup | 通过进程启动使用 Winsock DLL。 |
WSAStringToAddressA | WSAStringToAddress 函数将标准文本表示形式的网络地址转换为其以袜子结构形式的数字二进制形式,适合传递到使用此类结构的 Windows 套接字例程。 |
WSAStringToAddressW | WSAStringToAddress 函数将标准文本表示形式的网络地址转换为其以袜子结构形式的数字二进制形式,适合传递到使用此类结构的 Windows 套接字例程。 |
WSAUnhookBlockingHook | 此功能已按照 Windows 套接字 2 规范 2.2.0 版本删除。 |
WSAWaitForMultipleEvents | 当一个或多个指定事件对象处于信号状态、时分时间隔到期或执行 I/O 完成例程时返回。 |
2. 数据结构信息(Structures)
标题 | 描述 |
---|---|
AFPROTOCOLS | AFPROTOCOLS 结构提供应用程序程序员可以限制查询的协议列表。AFPROTOCOLS 结构仅用于查询目的。 |
BLOB | 从二进制大对象派生的 BLOB 结构包含有关数据块的信息。 |
fd_set | Fd_set套接字(Winsock)函数和服务提供商使用该结构将套接字放入一组。 |
HOSTENT | 函数使用主机结构来存储有关给定主机的信息,如主机名、IPv4 地址等。 |
in_addr | 该in_addr表示 IPv4 互联网地址。 |
LINGER | 维护有关特定套接字的信息,指定当数据排队要发送和在套接字上调用关闭套接功能时,该套接字应如何运行。 |
PROTOENT | 原型结构包含对应于给定协议名称的名称和协议编号。 |
QOS | QOS 结构提供了支持 QOS 的应用程序为特定流上发送和接收流量指定服务质量参数的方法。 |
SERVENT | 服务结构用于存储或返回给定服务名称的名称和服务编号。 |
TIMEVAL | 时间值结构用于指定时间间隔。它与伯克利软件分发 (BSD) Time.h 头文件关联。 |
WSACOMPLETION | 指定对注册命名空间的 I/O 控制调用的完成通知设置。 |
WSADATA | 包含有关 Windows 套接字实现的信息。 |
WSANAMESPACE_INFOA | 包含命名空间提供程序的所有注册信息。 |
WSANAMESPACE_INFOEXA | 包含命名空间提供程序的所有注册信息。 |
WSANAMESPACE_INFOEXW | 包含命名空间提供程序的所有注册信息。 |
WSANAMESPACE_INFOW | 包含命名空间提供程序的所有注册信息。 |
WSANETWORKEVENTS | WSANETWORKEVENTS 结构用于存储套接字有关网络事件的内部信息。 |
WSANSCLASSINFOA | WSANSCLASSINFO 结构为特定的 Windows 套接字命名空间提供单独的参数信息。 |
WSANSCLASSINFOW | WSANSCLASSINFO 结构为特定的 Windows 套接字命名空间提供单独的参数信息。 |
WSAOVERLAPPED | 在重叠的 I/O 操作启动及其后续完成之间提供通信介质。 |
WSAPOLLFD | 存储 WSAPoll 函数使用的套接字信息。 |
WSAPROTOCOL_INFOA | 用于存储或检索给定协议的完整信息。 |
WSAPROTOCOL_INFOW | 用于存储或检索给定协议的完整信息。 |
WSAPROTOCOLCHAIN | WSAPROTOCOLCHAIN 结构包含包含协议链的目录条目标识符的计数列表。 |
WSAQUERYSET2A | 提供有关给定服务的相关信息,包括服务类 ID、服务名称、适用的命名空间标识符和协议信息,以及服务侦听的一组传输地址。 |
WSAQUERYSET2W | 提供有关给定服务的相关信息,包括服务类 ID、服务名称、适用的命名空间标识符和协议信息,以及服务侦听的一组传输地址。 |
WSAQUERYSETA | 提供有关给定服务的相关信息,包括服务类 ID、服务名称、适用的命名空间标识符和协议信息,以及服务侦听的一组传输地址。 |
WSAQUERYSETW | 提供有关给定服务的相关信息,包括服务类 ID、服务名称、适用的命名空间标识符和协议信息,以及服务侦听的一组传输地址。 |
WSASERVICECLASSINFOA | WSASERVICECLASSINFO 结构包含有关指定服务类的信息。对于 Windows 套接字 2 中的每个服务类,都有一个 WSASERVICECLASSINFO 结构。 |
WSASERVICECLASSINFOW | WSASERVICECLASSINFO 结构包含有关指定服务类的信息。对于 Windows 套接字 2 中的每个服务类,都有一个 WSASERVICECLASSINFO 结构。 |
WSAVERSION | WSAVERSION 结构在 Windows 套接字中提供版本比较。 |
更多相关函数请参考 Windows Sockets 2 ,其中包含头文件有:
- af_irda.h
- in6addr.h
- mstcpip.h
- mswsock.h
- mswsockdef.h
- nsemail.h
- nspapi.h
- socketapi.h
- sporder.h
- transportsettingcommon.h
- winsock.h
- ws2atm.h
- ws2spi.h
- ws2tcpip.h
- wsipv6ok.h
- wsnwlink.h
- wsrm.h
有关此技术的编程指导,请参见: