私は既存のコードを調べています。私はそのような行を見つけました:
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
ですか? それとも、これは私が理解しようとしているコードの単なる間違いですか?