sockaddr_in解决了sockaddr的缺陷,sockaddr把目标地址信息和端口信息混在一起了,不便于使用,因此我们使用sockaddr_in.
sockaddr_in具体结构如下:
struct sockaddr_in{
sa_family_t sin_family; //地址
uint16_t sin_port; //16位TCP/UDP端口号
struct in_addr sin_addr; //32位IP地址
char sin_zero[8]; //不使用
}
在该结构体中,用到了另外一个结构体in_addr,该结构体里面只有一个变量In_addr_t S_addr:用来存放32位IPC4的地址
使用bind对监听器和地址信息进行绑定:bind(套接字slisten,(LPSOCKADDR)&sockaddr_in变量:sin,sizeof(sin))