我正在检查现有代码。我找到了这样的行:
imr.imr_interface.s_addr = INADDR_ANY;
这意味着INADDR_ANY
字节已经处于“TCP/IP 网络字节顺序”并且可以按原样使用。但是后来我发现了这样的行:
binda.sin_addr.s_addr = htonl(INADDR_ANY);
这里作者将“a u_long from host to TCP/IP network byte order”
为什么有时INADDR_ANY
需要被包裹htonl
,有时不需要?或者这只是我试图理解的代码中的一个错误?