Форум: "Сети";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];
Внизбыстрый ping Найти похожие ветки
← →
veresk (2003-10-25 14:56) [0]Здравстуйте мастера.
на сколько я знаю, пинговать можно с помощью IcmpSendEcho,
отправляя запрос отдельно взятому компу.
а как можно отправить запрос всем, а потом разгребать какой- нибудь буффер?
многопоточный вариант пробовал(каждому компу - запрос в отдельном потоке)- не понравилось.
заранее благодарен.
← →
Anatoly Podgoretsky (2003-10-25 15:00) [1]Никаких широкофвещательных пингов не существует, придется все таки к каждому узлу обращаться отдельно.
← →
Дмитрий В. Белькевич (2003-10-26 20:52) [2]Шли широковещательный udp пакет, или несколько, и жди ответы от серверов. Это, конечно, не пинг, но рабоает. Тот же Counter Strike или Quake именно так и делает.
Вот код на отсылку, не тестил, правда:
> Как средствами дельфи послать субж?
Ручками батенька...
procedure TMainForm.FormCreate(Sender: TObject);
Var Init:TWSAData; SockOpt:BOOL; Sock:TSocket; Target:TSockAddrIn;
begin WSAStartup($101,Init); Sock:=Socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP); SockOpt:=TRUE;
SetSockOpt(Sock,SOL_SOCKET,SO_BROADCAST,PChar(@SockOpt),SizeOf(SockOpt)); Target.sin_port:=htons(8167);//номер порта Target.sin_addr.S_addr:=INADDR_BROADCAST; Target.sa_family:=AF_INET; SendTo(Sock,Data,DataBytes,0,Target,SizeOf(Target)); WSACleanup;
end;
← →
All (2003-10-29 08:52) [3]Посмотри по этой ссылочке, правда на Builder`e, но какая разница, юзается то WIN API.
http://borland.xportal.ru/forum/viewtopic.php?t=7012
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c