Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.217.208.72] |
|
Сообщ.
#1
,
|
|
|
Как вы знаете есть такая функция WSAIoctl
Если ей передать команду SIO_GET_BROADCAST_ADDRESS то она через свой пятый параметр вернет структуру SOCKADDR, которая содержит широковещательный адрес для семейства протоколов из сокета s. Но как я знаю, к примеру, для протокола UDP широковещательный адрес 255.255.255.255 но а программка возвращает мне вот этот 205.205.205.205 И как сие понимать??? #include <winsock2.h> #include <iostream.h> main() { WSADATA ws; WSAStartup(0x0202,&ws); SOCKET s; s=socket(AF_INET,SOCK_DGRAM,0); void *addr =new sockaddr_in; sockaddr_in ad; WSAIoctl( s, SIO_GET_BROADCAST_ADDRESS, NULL, NULL, addr, sizeof(addr), NULL, 0, 0); memcpy(&ad,addr,sizeof(sockaddr_in)); cout<<inet_ntoa(ad.sin_addr)<<endl; WSACleanup(); return 0; } |