Halen üzerinde çalıştığım bir projede ana makinaya ping atma işlemi yapmam gerekiyor.
Indy paketinin IdIcmpClient bileşenini kullanarak pingleme yapıyorum. Program
benim kullandığım makinede ve bazı makinelerde özellikle xp makinelerde ping atabiliyor.
Ancak bazı makinelerde ping yapamıyor. Yalnız sorunun sebebi makinanın ağı görmemesi falan değil. Program aynı makineden ana makine üzerindeki db'ye bağlanabiliyor.
kullandığım pingleme kodu:
Kod: Tümünü seç
//ping atmak icin
idICMPClient1.Host:= '192.168.11.102';
try
idICMPClient1.Ping();
except
PingCevaplandi:=True;
PingSwitch:=false;
end;
///ping cevabı okuyan event
procedure TMainF.IdIcmpClient1Reply(ASender: TComponent;
const AReplyStatus: TReplyStatus);
begin
PingCevaplandi:=true;
if (uppercase(AReplyStatus.Msg)='ECHO') and (AReplyStatus.BytesReceived>0) then
PingSonucu:=1
else
PingSonucu:=0;
end;