函数说明 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 编号