Indy 9.0 ICMP-Client

Aloha,

hat vielleicht jemand einen Tipp, wie ich die Länge eines ICMP-Echos mittels der Indy Komponente ICMP-Client einstellen kann ?

Wenn ich diese Komponente standardmäßig benutze, wird auch die Standardgröße benutzt (72 Bytes), ich möchte aber auch größerer Pakete (z.B. 1024 Bytes) aussenden.

Thanks
Chris

PS: In der Hilfe steht nichts dazu, auch die FAQ war eine Fehlanzeige. Die Unit in der die ensprechende Funktion sitzt ist leider compiliert. Oder ging es vielleicht in einer älteren Indy-Version ?

Hallo Chris,
warum willst du größere Pakete senden? Aber sei’s drum, die Indy-Komponenten kannste nicht verändern. Es bleibt dir nur übrig, andere Freeware-Komponenten zu suchen die das können oder via den Fastnet-Komponenten dir selber einen ICMP-Clienten zu basteln oder die entsprechenden WinAPIs zu nutzen (send, WSAxxx, sendto() u.s.w.).
Grüße
Mathias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Matthias,

Hallo Chris,
warum willst du größere Pakete senden?

Es kann Situationen im Netzwerk geben, bei denen kleine Pakete einwandfreie RTTs haben, aber große Pakete in einen Timeout laufen, bzw. sehr hohe Antwortzeiten haben. Deshalb wollte ich die ICMP-Pakete in der Größe ändern können.

Aber sei’s drum, die
Indy-Komponenten kannste nicht verändern. Es bleibt dir nur
übrig, andere Freeware-Komponenten zu suchen die das können
oder via den Fastnet-Komponenten dir selber einen
ICMP-Clienten zu basteln oder die entsprechenden WinAPIs zu
nutzen (send, WSAxxx, sendto() u.s.w.).
Grüße
Mathias

Okay, dann werde ich mir mal selber einen ICMP-Client bauen. Ist nur so schrecklich viel Arbeit, von daher wäre es mit dem Indy ganz nett gewesen.

Danke aber für die Info.

Chris

Wer lesen kann, ist klar im Vorteil.

Die Größe kann eigentlich relativ simpel verändert werden. Die ist in der Konstanten DEF_PACKET_SIZE abgelegt.

Also Konstante zur Variablen gemacht und der Klasse TIdIcmpClient eine Procedure hinzugefügt, die diese Variable setzt.

Funktioniert bestens…

Chris