Ich versuche herauszufinden, welche Standardwerte für die Option IP_MULTICAST_IF nach dem Einrichten eines neuen Sockets verwendet werden. Leider segmentiert mein Code und ich weiß eigentlich nicht warum ?! Mache ich etwas falsch oder wie bekomme ich die Standardwerte für die Option IP_MULTICAST_IF?Standardwerte für IP_MULTICAST_IF
int sock;
struct in_addr interface_addr;
int addr_size;
if ((sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
perror("socket() failed");
}
addr_size = sizeof(interface_addr);
if ((getsockopt(sock, IPPROTO_IP, IP_MULTICAST_IF, &interface_addr, &addr_size)) < 0) {
perror("getsockopt() failed");
}
printf("The default interface is %s\n", inet_ntoa(interface_addr));
Aus irgendeinem Grund scheint der Segmentierungsfehler von inet_ntoa (..) zu stammen. Selbst wenn ich die Struktur zu einer ip_mreq Struktur korrigiere - bekomme ich immer noch den gleichen Segmentierungsfehler. – Bjoern