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