Пінгуем (Ping) під Delphi
ICMP - Internet Control Message Protocol. ICMP служить для передачі повідомлень про помилки а так само керуючих повідомлень. ICMP-тест може показати наскільки швидко проходить інформація між двома вузлами в Інтернеті.
- Запускаємо Delphi;
- У Новому проект додаємо в форму Tbutton, Tedit і Tmemo;
- Вставляємо "winsock";
- оголошуємо структурку для IP-заголовка:
5. оголошуємо структурку для зберігання ICMP пакета:
6. Оголошуємо функції і процедури, які ми будемо викликати з ICMP.DLL
7. У Tbutton в подія Onclick вставляємо наступний код:
Ну і в кінці повний вихідний код прикладу:
а можна сій код переробити так, щоб пінг йшов постійно, з інтервалом в декілька секунд, і якщо пінг стає швидше певного значення, то відрубується підключення LAN?
получіцца кльова прога, що дозволяє зекономити гроші при використанні супутник + АДСЛ.
я сам не програміст, такчто сій код для мене темний ліс, але якщо хто-нить реалізує, купа народу подякує
Багато коду, заплутано і загадково;) Особливо врахувати що код нічого не робить;)
Особливо розчулює Memo1.Lines.Add ( "Pingou '+ Edit1.text); в циклі в кінці. У такому варіанті він пінг все, і від усього він відповідь. Простіше було зробити так:
procedure TForm1.Button1Click (Sender: TObject);
Var x. Integer;
begin
memo1.Lines.Add ( 'Pinging' + Edit1.text);
for x: = 0 to 4 do
Memo1.Lines.Add ( "Pingou '+ Edit1.text);
end;
Цей код працює стольже ефективно;)
Код непоганий, от тільки він локальні айпі не бачить зовсім.
Якраз те що исчу :)