WSANtohs 函数 (winsock2.h)

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

语法

int WSAAPI WSANtohs(
  [in]  SOCKET  s,
  [in]  u_short netshort,
  [out] u_short *lphostshort
);

参数

[in] s

标识套接字的描述符。

[in] netshort

按网络字节顺序表示的 16 位数字。

[out] lphostshort

指向 16 位数字的指针,用于按主机字节顺序接收数字。

返回值

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

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

注解

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

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

WSANtohs 函数要求 Winsock DLL 之前已通过成功调用 WSAStartup 函数加载。 若要与 AF_INET OR AF_INET6 地址系列一起使用, ntohs 函数不需要加载 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

WSAHtons

WSANtohl

Winsock 函数

Winsock 参考

htonl

htons

inet_addr

inet_ntoa

ntohl

ntohs