網路程式設計 網路位元組序和位址位元組序轉化

2021-07-11 02:51:28 字數 814 閱讀 4381

網路位元組序是大端序,而記憶體位元組序是小端序(就像彙編學的內容一致)

大端序:高位位元組存放到地位位址

小端序:高位位元組存放在高位位址

因此在位址傳輸時需要將位址進行轉化

//short

unsigned short htons(unsigned short);//h to n,主機轉化成網路資料 s short型

unsigned short ntohs(unsigned short);//n to h,網路轉化成主機資料 s short型

//long類似上面l則是long型

unsigned long htonl(unsigned long);

unsigned long ntohl(unsigned long);

#include"iostream"

//4個函式都需要這個標頭檔案和lib庫

#include "winsock2.h"

#pragma comment(lib,"ws2_32.lib")

using namespace std;

int main(int argc,char* argv);

// 不能將引數 1 從「unsigned long」轉換為「in_addr」

//addr是in_addr_t型而函式引數是in_addr型,故錯誤

in_addr my_in_addr;

my_in_addr.s_addr=addr;

ip=inet_ntoa(my_in_addr);

cout<

return 0;

}

位元組序和網路位元組序

1 位元組序 由於不同的計算機系統採用不同的位元組序儲存資料,同樣乙個4位元組的32位整數,在記憶體中儲存的方式就不同.位元組序分為小尾位元組序 little endian 和大尾位元組序 big endian intel處理器大多數使用小尾位元組序,motorola處理器大多數使用大尾 big e...

位元組序和網路位元組序

1位元組序 由於不同的計算機系統採用不同的位元組序儲存資料,同樣乙個4位元組的32位整數,在記憶體中儲存的方式就不同.位元組序分為小尾位元組序 little endian 和大尾位元組序 big endian intel處理器大多數使用小尾位元組序,motorola處理器大多數使用大尾 big en...

TCP IP網路程式設計之位元組序和網路位元組序

一 概要 二 簡介 在此之前我們需要了解清楚幾個概念。cpu架構 人們常說的x86 x64是一種架構,但是他有32位的和64位的。32位的叫x86 後來出現基於它的64位版,就叫x64。作業系統位數 64位的系統是基於64位處理器而來的,所以64位的系統能在64位的處理器上執行,但是不能在32的處理...