当前位置: 技术问答>linux和unix
一个关于网络编程的问题
来源: 互联网 发布时间:2016-07-04
本文导语: sin_zero (它被加入到这个结构,并且长度和 struct sockaddr 一样) 应该使用函数 bzero() 或 memset() 来全部置零 为什么要置零 | sin_zero只是一个填充(padding),使sockaddr_in对齐。所以填充成0...
sin_zero (它被加入到这个结构,并且长度和 struct sockaddr 一样) 应该使用函数 bzero() 或 memset() 来全部置零 为什么要置零
|
sin_zero只是一个填充(padding),使sockaddr_in对齐。所以填充成0是一般做法。但实际上应该不会用到的,所以不填关系也不大。但可能导致某些难以调试的bug。
|
对于ipv6和ipv4的地址结构不同,但是最后都要套用到socket中去用,所以需要对sockaddr_in添加8个字节满足sockaddr的16个字结长度的要求。
另外,这样也有一些备用扩充的用途
另外,这样也有一些备用扩充的用途