2

IN_ADDR のS_unを理解しようとしています。これは、私の IP が 127.0.0.1 の場合の出力です。

出力

タイプに関する情報:

S_un_b
An IPv4 address formatted as four u_chars.
S_un_w
An IPv4 address formatted as two u_shorts.
S_addr
An IPv4 address formatted as a u_long.

S_un_w と S_addr のビルド方法がわかりません。S_un_b はロジックです。IP アドレスの各オクテットは unsigned char に変換されます。しかし、2 つの未署名のショート パンツと未署名のロング ビルドはどうですか? それとも、これらの変数で 127001 を memcopy しただけですか?

4

1 に答える 1

3

これは単なる和集合であるため、同じデータを 3 つの異なる表現で示しています。それを見る別の方法は、4 バイト整数 (S_addr) を 16 進数として表示することです (0x7f = 127 であることを思い出してください)。

16777343 = 0x100007F  ==> 01 | 00 | 00 | 7f

リトルエンディアン形式です。

于 2013-01-09T17:16:18.613 に答える