WSAHtons 函数 (winsock2.h)

WSAHtons 函数将u_short从主机字节顺序转换为网络字节顺序。

语法

int WSAAPI WSAHtons(
  [in]  SOCKET  s,
  [in]  u_short hostshort,
  [out] u_short *lpnetshort
);

参数

[in] s

标识套接字的描述符。

[in] hostshort

主机字节顺序中的 16 位数字。

[out] lpnetshort

指向 16 位缓冲区的指针,用于按网络字节顺序接收数字。

返回值

如果未发生错误, 则 WSAHtons 返回零。 否则,将返回值 SOCKET_ERROR,并且可以通过调用 WSAGetLastError 来检索特定的错误代码。

错误代码 含义
WSANOTINITIALISED
在使用此函数之前,必须成功调用 WSAStartup
WSAENETDOWN
网络子系统失败。
WSAENOTSOCK
:描述符不是套接字。
WSAEFAULT
lpnetshort 参数为 NULL,或者指向的地址未完全包含在用户地址空间的有效部分。

注解

WSAHtons 函数采用主机字节顺序的 16 位数字,并在 lpnetshort 参数指向的 16 位数字中以网络字节顺序返回一个 16 位数字。 在 s 参数中传递的套接字用于根据与套接字关联的 Winsock 目录协议条目确定所需的网络字节顺序。 此功能支持使用不同网络字节顺序的 Winsock 提供程序。

如果套接字适用于 AF_INET 或 AF_INET6 地址系列,则可以使用 WSAHtons 函数将主机字节顺序中的 IP 端口号转换为网络字节顺序的 IP 端口号。

WSAHtons 函数要求 Winsock DLL 之前已通过成功调用 WSAStartup 函数加载。 若要与 AF_INET OR AF_INET6 地址系列一起使用, htons 函数不需要加载 Winsock DLL。

Windows Phone 8:Windows Phone 8 及更高版本上的 Windows Phone 应用商店应用支持此函数。

Windows 8.1Windows Server 2012 R2:Windows 8.1、Windows Server 2012 R2 及更高版本的 Windows 应用商店应用支持此函数。

要求

要求
最低受支持的客户端 Windows 8.1、Windows Vista [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 winsock2.h
Library Ws2_32.lib
DLL Ws2_32.dll

另请参阅

InetNtop

WSAHtonl

WSANtohl

WSANtohs

Winsock 函数

Winsock 参考

htonl

htons

inet_addr

inet_ntoa

ntohl

ntohs