日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

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

;Linux下的網(wǎng)絡(luò)通信程序,一定要和一個結(jié)構(gòu)打交道,這個結(jié)構(gòu)就是socket address 。比如bind、connect等等函數(shù)都要使用socket address結(jié)構(gòu) 。理解socket address時我們要明白,其實在linux下針對于不同的socket domain定義了一個通用的地址結(jié)構(gòu)struct sockaddr,它的具體定義為: {unsigned short int sa_family;char sa_data[14];}struct sockaddr 其中,sa_family為調(diào)用socket()函數(shù)時的參數(shù)domain參數(shù),sa_data為14個字符長度存儲 。針對于不同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;}當socket的domain不同于AF_INET時,具體的地址定義又是不同的,但是整個地址結(jié)構(gòu)的大小、容量都是和通用地址結(jié)構(gòu)一致的 。

    推薦閱讀