<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0

    一.socket的一些基本結構

    132位的IP地址:

    struct in_addr

    {

        unsigned long s_addr;

    }

     

    2TCP/IP所在的網際通信域使用的套接字地址格式:

    struct sockaddr_in

    {

        short int sin_family;               //表示所屬地址簇,TCP/IP必須是AF_INET

        unsigned short int sin_port;   //表示端口號

        struct in_addr sin_addr;       //表示32位的IP地址,用in_addr結構表示

        unsigned char sin_zero[8];   //表示全部填充0,保證和sockaddr大小相同

    }

     

    二.socket的一些輔助函數

    1.字節序轉換函數:

        ·htons : host to network byte order , short (unsigned) integer

       ·htonl : host to network byte order , long (unsigned) integer

       ·ntohs : network to host byte order , short (unsigned) integer

       ·ntohl : network to host byte order , long (unsigned) integer

    記憶方法:

        h表示hostn表示networkl表示longs表示short

    例如:

        num = htons(Port_NUM);

        表示將一個名叫Port_NUM的端口號轉換成網絡字節順序并賦值給num變量

     

    2IP地址轉換函數:

       ·inet_addr()

         將一個用點分十進制表示的IP地址字符串轉換成32位無符號整數。此整數已經是

         網絡字節順序,無需再調用htonl()

       ·inet_ntoa()

         將一個32位無符號整數轉換成一個點分十進制表示的IP地址字符串,此函數接受

         一個in_addr結構作為參數,將返回的字符串存儲再一個static的緩沖區內,因

         此,下次調用此函數時,將改變上次調用的結果。

     

    3.查找主機信息函數:

       struct hostent* gethostbyname(const char *name);

       參數:輸入參數時需要解析的主機名,也可以是域名

       返回值:返回一個描述主機信息的結構hostent的指針

       struct hostent

       {

           char *h_name;                    //主機的正式名稱

           char **h_aliases;                //主機的別名

           int h_addrtype;                  //主機地址類型

           int h_length;                    //地址長度

           char **h_addr_list;              //存儲主機地址的數組

           #define h_addr h_addr_list[0]    //為向后兼容

    };

    對于TCP/IP協議而言,h_addrtype的值等于AF_INETh_length的值是4,因為IP地址是4字節。h_addr_list實質上是一個存儲地址的緩沖區,如果后續的代碼要利用這個緩沖區,需要進行強制類型轉換。

     

    posted on 2008-05-15 11:29 SIMONE 閱讀(419) 評論(0)  編輯  收藏 所屬分類: C++
    主站蜘蛛池模板: a在线视频免费观看在线视频三区| 久久久久久久久亚洲 | 国产色在线|亚洲| 国产又黄又爽又猛免费app| 亚洲嫩模在线观看| 13一14周岁毛片免费| 亚洲色图综合网站| 99久久国产热无码精品免费| 亚洲欧洲综合在线| 欧洲黑大粗无码免费| 亚洲AV无码成人网站在线观看| 永久黄网站色视频免费直播| 国产精品亚洲а∨天堂2021| 亚洲国产香蕉人人爽成AV片久久 | 最近的免费中文字幕视频| 亚洲成aⅴ人片久青草影院按摩| 日本大片在线看黄a∨免费| 国产亚洲精品美女2020久久| 亚洲天堂免费在线视频| 无码av免费一区二区三区试看| 亚洲美女激情视频| 黄网址在线永久免费观看| 午夜在线免费视频| 亚洲AV日韩精品久久久久久久 | 日本免费一区二区在线观看| 亚洲国产AV一区二区三区四区 | 国产精品入口麻豆免费观看| 亚洲熟妇自偷自拍另欧美| 五月天婷亚洲天综合网精品偷| 久久精品免费大片国产大片| 亚洲黄色在线观看| 日韩免费视频播播| 中国极品美軳免费观看| 亚洲国产精品美女| 免费国产怡红院在线观看| 人妻在线日韩免费视频| 日本亚洲精品色婷婷在线影院| 成人亚洲综合天堂| 免费A级毛片av无码| 色偷偷亚洲第一综合网| 亚洲AV无码1区2区久久|