Indy komponente ping und icmp
-
hallo
ich arbeite noch nicht lange mit der indy komponente und deswegen stellen sich für mich schon erste fragenich möchte feststellen ob ein host im lan vorhanden ist also erstmal anpingen
IdIcmpClient1->Ping(ip,unsigned short);stellt sich für mich die frage: wozu noch dieses unsigned short??
genauso hierIdTCPClient1->Connect(1);wieso muss da noch n integer wert rein??
nächste frage ist wie ich mit icmp oder anderen komponenten von indy informationen über den rechner zu bekommen den ich anpinge sprich rechnername oder wenns n router is das er mir das anzeigt etc...
vielleicht kennt auch jemand ne gute seite wo ich infos zu den komponenten (speziell die zwei die ich oben gebraucht habe) finden kann
vielen dank
-
Sends an echo request and receives an echo response.
procedure Ping(ABuffer: String = ''; SequenceID: word = 0); //SequenceID = 0 oder?Ich rufe die Funktion ohne Prameter auf, schreibe die IP vorher in die
Eigenschaft HOST, setze noch einen Timeoutwert und dann Funktioniert das
ganze.IdIcmpClient1->Host = "192.168.002.001; //IP IdIcmpClient1->ReceiveTimeout = 1000; Timeout auf 1000ms //Timeout IdIcmpClient1->Ping();Allerdings verstehe ich den ReplyStatus nicht ganz.
TReplyStatus = record
BytesReceived: integer; //OK
FromIpAddress: string; //OK
MsgType: byte; // ???
SequenceId: word; // Zählt immer hoch, bei meinem Router +1 bei anderen IP +2,oder +3 oder ...
MsRoundTripTime: longword; //???
TimeToLive: byte; //???
-> führe ich den Ping mit meinem Prog aus ist TTL z.B 123
bei 72 empfangenen Bytes .
führe ich den Ping im DOS Fenster aus (Windows Ping)
ist TTL für die gleiche IP 18 bei 32 empfangenen Bytes.ReplyStatusType: TReplyStatusTypes;
-> TReplyStatusTypes = (rsEcho, rsError, rsTimeOut,
rsErrorUnreachable, rsErrorTTLExceeded);
end;
-
sushi schrieb:
IdIcmpClient1->Ping(ip,unsigned short);vielleicht ist der unsigned short die anzahl der pings?
IdTCPClient1->Connect(1);der Integer ist der Timeout: wenn der Server nicht innerhalb von TimeOut antwortet, geht IdTCPClient1 davon aus, dass der Server nicht online ist.