background image

  函数说明  bind()用来设置给参数 sockfd 的 socket 一个名称。此名称由参数
my_addr 指向一 sockaddr 结构,对于不同的 socket domain 定义了一个通用的数据
结构

  struct sockaddr

  {

  unsigned short int sa_family;

  char sa_data[14];

  };

  sa_family 为调用 socket()时的 domain 参数,即 AF_xxxx 值。

  sa_data 最多使用 14 个字符长度。

  此 sockaddr 结构会因使用不同的 socket domain 而有不同结构定义,例如使用
AF_INET domain,其 socketaddr 结构定义便为

  struct socketaddr_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;

  };

  sin_family 即为 sa_family

  sin_port 为使用的 port 编号