getpeername/getsockname sockaddr_storageを使う sizeof(sockaddr_in6) > sizeof(sockaddr) sizeof(sockaddr_storage) > sizeof(sockaddr_*) struct sockaddr_storage ss; struct sockaddr *sa; int salen; salen = sizeof(ss); sa = (struct sockaddr *)&ss; getpeername(s, sa, salen);