色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux操作系統(tǒng)下Socket編程地址結(jié)構(gòu)介紹

          Linux操作系統(tǒng)下Socket編程地址結(jié)構(gòu)介紹

          作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

          Linux下的網(wǎng)絡(luò)通信程序,一定要和一個(gè)結(jié)構(gòu)打交道,這個(gè)結(jié)構(gòu)就是socket address。比如bind、connect等等函數(shù)都要使用socket address結(jié)構(gòu)。理解socket address時(shí)我們要明白,其實(shí)在linux下針對于不同的socket domain定義了一個(gè)通用的地址結(jié)構(gòu)struct sockaddr,它的具體定義為:

          本文引用地址:http://cafeforensic.com/article/201609/305146.htm

          {

          unsigned short int sa_family;

          char sa_data[14];

          }

          struct sockaddr

          其中,sa_family為調(diào)用socket()函數(shù)時(shí)的參數(shù)domain參數(shù),sa_data為14個(gè)字符長度存儲(chǔ)。針對于不同domain下的socket,通用地址結(jié)構(gòu)又對應(yīng)了不同的定義,例如一般的AF_INET domain下,socket address的定義如下:

          struct sockaddr_in

          {

          unsigned short int sin_family;

          uint16_t sin_port;

          struct in_addr sin_addr;

          unsigned char sin_zero[8];//未使用

          }

          struct in_addr

          {

          uint32_t s_addr;

          }

          當(dāng)socket的domain不同于AF_INET時(shí),具體的地址定義又是不同的,但是整個(gè)地址結(jié)構(gòu)的大小、容量都是和通用地址結(jié)構(gòu)一致的。



          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉