<span id='nyu32'></span>
    <i id='nyu32'></i>
    1. <ins id='nyu32'></ins>
      <acronym id='nyu32'><em id='nyu32'></em><td id='nyu32'><div id='nyu32'></div></td></acronym><address id='nyu32'><big id='nyu32'><big id='nyu32'></big><legend id='nyu32'></legend></big></address>
    2. <tr id='nyu32'><strong id='nyu32'></strong><small id='nyu32'></small><button id='nyu32'></button><li id='nyu32'><noscript id='nyu32'><big id='nyu32'></big><dt id='nyu32'></dt></noscript></li></tr><ol id='nyu32'><table id='nyu32'><blockquote id='nyu32'><tbody id='nyu32'></tbody></blockquote></table></ol><u id='nyu32'></u><kbd id='nyu32'><kbd id='nyu32'></kbd></kbd>

      <code id='nyu32'><strong id='nyu32'></strong></code>
    3. <dl id='nyu32'></dl>

      <fieldset id='nyu32'></fieldset>
    4. <i id='nyu32'><div id='nyu32'><ins id='nyu32'></ins></div></i>

          Linux操作系统下Socket编程地址结构介绍

          • 时间:
          • 浏览:9
          • 来源:124软件资讯网

            Linux下的网络通讯法式  ,一定要和一个结构打交道  ,这个结构就是socket address  。好比bind、connect等等函数都要使用socket address结构  。明白socket address时我们要明确  ,实在在linux下针对于差别的socket domain界说了一个通用地址结构struct sockaddr,它的详细界说为:

            {
            unsigned short int sa_family;
            char sa_data[14];
            }

            struct sockaddr

            其中  ,sa_family为挪用socket()函数时的参数domain参数 ,sa_data为14个字符长度存储 。针对于差别domain下的socket ,通用地址结构又对应了差别的界说  ,例如一样平常的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时  ,详细的地址界说又是差别的  ,可是整个地址结构的巨细、容量都是和通用地址结构一致的