在网络存在各种不同的机器,这些机器表示的字节顺序是不同的,i386和alpha就是相反的,所以Winsock提供了一些api来转换。
字节转换函数
u_long htonl( u_long hostlong); u_short htons( u_short hostshort);
u_long ntohl(u_long netlong); u_short ntohs( u_short netshort);
这四个转换函数中,h代表host,n代表network,l代表u_long,s代表u_short.
一般用在下面代码中:
SOCKADDR_IN ServerDdr;
ServerDdr.sin_family = AF_INET;
ServerDdr.sin_addr.S_un.S_addr = htonl(INADDR_ANY); //ip地址,这里用于允许该套接字绑定到系统中所有可用的接口
ServerDdr.sin_port = htons(nPort); //端口