LINUX.ORG.RU

udp broadcast


0

0

хочу узнать широковещательный адрес, но ioctl выдает no such device в чем ошибка?

[code] struct ifreq ifr; int s = socket(AF_INET, SOCK_DGRAM, 0); if (s < 0) perror("socket"); if (ioctl(skfd, SIOCGIFBRDADDR, (caddr_t)&ifr, sizeof(struct ifreq))<0) perror("ioctl");

/* sockaddr_in sin; memcpy(&sin, &ifr.ifr_broadaddr, sizeof(sockaddr_in)); cout << inet_ntoa(sin.sin_addr) << endl; */ [/code]

anonymous

в ioctl конечно же используется параметр s

anonymous
()

Перед запросом в ifr.ifr_name пропиши имя устройства (strcpy(ifr.ifr_name, "eth0"); // "lo", "br0" и т.п.)

anonymous
()

а зачем тогда нужен адрес INADDR_BROADCAST? использовать его не получается :(

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.