Я пытаюсь пропинговать широковещательный адрес 255.255.255.255 на WinXP SP3.
Если я использую командную строку, я получаю сообщение об ошибке хоста:
C:\>ping 255.255.255.255
Ping request could not find host 255.255.255.255. Please check the name and try again.
Если я пробую программу на C ++ с использованием iphlpapi, IcmpSendEcho()
завершается неудачно, а GetLastError
возвращает 11010 IP_REQ_TIMED_OUT
.
HANDLE h = ::IcmpCreateFile();
IPAddr broadcast = inet_addr( "255.255.255.255" );
BYTE payload[ 32 ] = { 0 };
IP_OPTION_INFORMATION option = { 255, 0, 0, 0, 0 };
// a buffer with room for 32 replies each containing the full payload
std::vector< BYTE > replies( 32 * ( sizeof( ICMP_ECHO_REPLY ) + 32 ) );
DWORD res = ::IcmpSendEcho( h,
broadcast,
payload,
sizeof( payload ),
&option,
&replies[ 0 ],
replies.size(),
1000 );
::IcmpCloseHandle( h );
Я могу без проблем пропинговать локальную трансляцию 192.168.0.255
.
Что мне нужно сделать, чтобы пропинговать глобальную трансляцию?
Спасибо, PaulH