一、sockaddr_in
sockaddr_in常用于服务器IP和port赋值时使用,它的结构体变量分别包含IP和PORT,可独立赋值。
二、sockaddr
sockaddr的结构体大小和实际内存存储的内容和sockaddr_in本质是相同的,内存空间都占用16个字节,可用强制类型可互相转换,唯一的区别在于sockaddr用数组合并ip和port的变量。
include <netinet/in.h>
struct sockaddr {
unsigned short sa_family; // 2 bytes address family, AF_xxx
char sa_data[14]; // 14 bytes of protocol address
};