在 Socket 网络编程中,struct sockaddr_in
是用于表示 IPv4 地址和端口号 的核心数据结构。它定义了如何存储和操作网络通信的地址信息。以下是其详细说明、成员解析和使用示例:
一、结构体定义
#include <netinet/in.h>
struct sockaddr_in {
sa_family_t sin_family; // 地址族(通常为 AF_INET)
in_port_t sin_port; // 端口号(需转换为网络字节序)
struct in_addr sin_addr; // IPv4 地址(二进制格式)
char sin_zero[8]; // 填充字段(未使用,需置零)
};
二、成员详解
1. sin_family
- 作用:指定地址族(Address Family),决定地址结构的类型。
- 常用值:
AF_INET
:IPv4 地址族。AF_INET6
:IPv6 地址族(对应struct s