?? 2-3.htm
字號:
<html>
<head>
<title>2-3</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<table width="100%" border="0">
<tr>
<td height="37">
<div align="center"><b><font color="#000099">2.3 字節順序</font></b></div>
</td>
</tr>
<tr>
<td height="48">Intel處理器的字節順序是和DEC VAX處理器的字節順序一致的。因此它與68000型處理器以及Internet的順序是不同的,所以用戶在使用時要特別小心以保證正確的順序。</td>
</tr>
<tr>
<td height="64">任何從Windows Sockets函數對IP地址和端口號的引用和傳送給Windows Sockets函數的IP地址和端口號均是按照網絡順序組織的,這也包括了sockaddr_in結構這一數據類型中的IP地址域和端口域(但不包括sin_family域)。</td>
</tr>
<tr>
<td height="115">考慮到一個應用程序通常用與"時間"服務對應的端口來和服務器連接,而服務器提供某種機制來通知用戶使用另一端口。因此getservbyname()函數返回的端口號已經是網絡順序了,可以直接用來組成一個地址,而不需要進行轉換。然而如果用戶輸入一個數,而且指定使用這一端口號,應用程序則必須在使用它建立地址以前,把它從主機順序轉換成網絡順序(使用htons()函數)。相應地,如果應用程序希望顯示包含于某一地址中的端口號(例如從getpeername()函數中返回的),這一端口號就必須在被顯示前從網絡順序轉換到主機順序(使用ntohs()函數)。</td>
</tr>
<tr>
<td>由于Intel處理器和Internet的字節順序是不同的,上述的轉換是無法避免的,應用程序的編寫者應該使用作為Windows Sockets
API一部分的標準的轉換函數,而不要使用自己的轉換函數代碼。因為將來的Windows Sockets實現有可能在主機字節順序與網絡字節順序相同的機器上運行。因此只有使用標準的轉換函數的應用程序是可移植的。
</td>
</tr>
</table>
<p> </p>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -