sockaddr_in
结构通常会大于通用
sockaddr
结构。 在许多现有的实现中
sockaddr
等于
sockaddr_in6
,两者都
是16个字节。 任何使此假设都需要的现有代码
转换为IPv6时要仔细检查。
但它并不能解释当将
sockaddr_in6
铸成
sockaddr
.时会发生什么。
记住,所有采用指针的函数也都采用结构的
尺寸。与实际插座上的元数据一起,系统很容易知道您要通过的结构。也要注意,它总是pointers
到传递的地址结构,而不是实际的结构。因此,您永远不要例如
sizeof(struct sockaddr_in)
你做
sizeof(struct sockaddr)