Tôi googled nó và một số người nói "Để giữ cùng kích thước với struct sockaddr". Nhưng Kernel sẽ không sử dụng trực tiếp sockaddr (phải không?). Khi sử dụng nó. hạt nhân sẽ đưa nó trở lại với nó. Vậy tại sao không cần đệm?Tại sao không cần đệm trong sockaddr_in?
struct sockaddr {
unsigned short sa_family; // address family, AF_xxx
char sa_data[14]; // 14 bytes of protocol address
};
struct sockaddr_in {
short sin_family; // e.g. AF_INET, AF_INET6
unsigned short sin_port; // e.g. htons(3490)
struct in_addr sin_addr; // see struct in_addr, below
char sin_zero[8]; // zero this if you want to
};
struct in_addr {
unsigned long s_addr; // load with inet_pton()
};
Với tuyên bố từ chối trách nhiệm rằng tôi hoàn toàn không biết các vùng biển đã biết: Có thể là endiannes không? –
@ G.Stoynev Tôi không biết ... 16 byte sắp xếp? – louxiu
nó được mở rộng ở đây ...... http: //silviocesare.wordpress.com/2007/10/22/setting-sin_zero-to-0-in-struct-sockaddr_in/ –