Archiv verlassen und diese Seite im Standarddesign anzeigen : ping implementierung in Ansi C
Wie kann man am besten ping implementieren. Also berechnen wie schnell der server antwortet?
Kann man das auch mit UDP machen, besonders wenn ein server icmp anfragen blockiert.
SeeksTheMoon
17-07-2003, 12:01
nein, das klassische ping läuft nur mit icmp.
Wenn Du Zeit-Messung willst, dann willst Du sowas wie traceroute nachprogrammieren...
und wie würde es mit icmp funktionieren?
Hi,
ein ping basiert auf einem sog. ICMP ECHO Request. Das ist einfach ein kleines Datenpaket welches du über einen offenen Socket schickst, welcher als RAW-Socket mit dem Protokoll ICMP geöffnet wurde (siehe socket() Systemfunktion). Danach wartest du am Socket auf das Antwortpaket.
Die notwendigen Definitionen für ICMP befinden sich im Headerfile netinet/ip_icmp.h
Wenn du ein Beispiel für die Verwendung brauchst, dann empfehle ich dir die libping. Zu bekommen unter:
www.joedog.org/libping/ (http://www.joedog.org/libping/)
Oder du verwendest gleich diese lib.
Gruß
almoeli
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.