Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Indy-Kompos und Ping

Frage Entwicklung Pascal und Delphi

Mitglied: 8644

8644 (Level 3)

22.03.2005, aktualisiert 30.06.2005, 13665 Aufrufe, 8 Kommentare

Ein Mass-Ping-Programm mit Indy, das die Host-Namen anzeigt ...

Hallo,

dann will ich mal den Anfang machen.

Wie oben schon erwähnt, möchte ich ein Proggi schreiben, das mir einen bestimmten IP-Bereich ping und die entsprechenden Host-Namen hinter den Adressen liefert. Habe Delphi 6 Enterprise und nutze die Indy-Komponenten. Anpingen und alles ist ja kein Problem. Nur bei den Host-Namen hört es auf. Googlen war auch sehr unbefriedigend.

Vielleicht habe ich ja hier Glück !

Psycho

P.S. ich hoffe, das sich der Entwicklerbereich vielleicht doch noch mausert
Mitglied: Ati
13.04.2005 um 16:16 Uhr
Hallöle,
ich hoffe die Antwort liest Du noch, da Dein Beitrag ja etwas älter ist. Für Delphi-Probleme kann ich Dir mal folgendes Forum wärmstens ans Herz legen: http://www.delphipraxis.net
Die Jungs haben mir auch schon oft geholfen. Ein Besuch lohnt sich

Ati
Bitte warten ..
Mitglied: 8644
19.04.2005 um 07:36 Uhr
Hi,

danke für Deine Antwort, ich kenne auch noch etliche gute Foren, aber für dieses spezielle Problem scheint es keine Lösung zu geben. Naja, irgendwas ist ja immer.

Psycho
Bitte warten ..
Mitglied: Ati
19.04.2005 um 08:37 Uhr
Also ich habe mal folgendes gefunden (ungetestet):
Folgendes um den Computernamen zu ermitteln.

function GetComputerNane(IPAddr: string): string;
var
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
WSAData: TWSAData;
begin
WSAStartup($101, WSAData);
SockAddrIn.sin_addr.s_addr := inet_addr(PChar(IPAddr));
HostEnt:= GetHostByAddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt <> nil then
Result := StrPas(Hostent^.h_name)
else
Result := '';
end;
end;

Und hier mal ein Beispiel um ein Massen-Ping auszuführen:

procedure TForm1.Button1Click(Sender: TObject);
var i : Integer;
begin
for i:= 1 to 200 do begin
Ping.Host := '192.168.2.' + IntToStr(i);
Ping.Ping();
end;
end;

Mußt dafür die IdIcmpClient-Komponeente verwenden.
Ich hoffe das reicht um weiterzukommen

Gruß Ati
Bitte warten ..
Mitglied: 8644
30.06.2005 um 08:30 Uhr
Hi Ati,

habe deine Antwort jetzt erst gelesen (schon aufgegeben )
Klingt so, als könnte es funktionieren, werde es demnächst mal testen.

Danke Psycho
Bitte warten ..
Mitglied: Ati
30.06.2005 um 09:11 Uhr
Mach das und gib mir mal bescheid ob es funktioniert hat

Ati
Bitte warten ..
Mitglied: 8644
30.06.2005 um 10:04 Uhr
Hi Ati,

so funktionierts:

procedure TForm1.Button1Click(Sender: TObject);
var i : Integer;
begin
for i:= 1 to 200 do begin
IdIcmpClient1.Host := '192.168.1.' + IntToStr(i);
IdIcmpClient1.Ping();
If IdIcmpClient1.ReplyStatus.BytesReceived > 0 Then
ListBox1.Items.Add(GetComputerName(IdIcmpClient1.Host));
Form1.Refresh;
end;


Die Funktion GetComputerName klappt auch ohne Indy, ist aber sau langsam.
Indy alleine kann das wesentlich schneller, gibt aber leider keinen Hostnamen zurück.
So ist es aber ein Kompromiss, mit dem ich leben kann.

Gruß Psycho
Bitte warten ..
Mitglied: Ati
30.06.2005 um 10:15 Uhr
Freud mich das es geklappt hat.
Bitte warten ..
Mitglied: 8644
30.06.2005 um 10:26 Uhr
jep, Danke noch mal!
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Google Android
ANDROID - PING (2)

Frage von MrRobot1997 zum Thema Google Android ...

Netzwerkgrundlagen
gelöst Ping im gleichen Rechnernetz ohne Gateway möglich? (8)

Frage von CHRISTI4N zum Thema Netzwerkgrundlagen ...

Entwicklung
Ping per Lua Script (1)

Frage von fuddel18 zum Thema Entwicklung ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...