2009-01-29 43 views

回答

7

htonl,htons,ntohl,ntohs函數可用於在網絡和本地字節順序之間進行轉換。

2

我想你可能會遇到字節順序問題。從手冊頁:

所有的Internet地址以網絡順序返回(字節順序從 從左到右)。所有網絡號和本地地址部分都會返回 作爲機器字節順序的整數值。

+0

我注意到的字節順序是相反的。 e0b83454 - 5434B8E0。謝謝你的提示! – 2009-01-29 10:01:57

4

返回的結果是正確的,字節按網絡字節順序排序

84 => 0x54 
52 => 0x34 
184 => 0xb8 
224 => 0xe0 
0xe0b83454 => 3770168404 
24

你剛剛得到了扭轉字節你所期望的 - 他們是在network byte order

3770168404 = 0xE0 B8 34 54  network byte order 
       |   | 
       \  /
       \ /
        \ /
        \/
        /\ 
       /\ 
       / \ 
       / \ 
       |  | 
1412741344 = 0x54 34 B8 E0  machine order 

您可以使用ntohl()從網絡訂單轉換爲機器訂單。

0

仔細檢查下面的鏈接:

的http:// msdn.microsoft.com/en-us/library/ms738563(VS.85).aspx

相關問題