sockaddr と sockaddr_storage の違いは何ですか? コードを見るとまったく同じに見えるので、わかりません:
struct sockaddr {
uint8_t sa_len;
sa_family_t sa_family;
char sa_data[14];
}
struct sockaddr_storage {
uint8_t ss_len;
sa_family_t ss_family;
char ss_padding[SIZE];
}