Autor Beitrag
Nano-Ware
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Di 01.05.12 15:59 
Hey,

ich möchte gerne alle aktive (derzeit mit dem Netzwerk verbundenen) Geräte anzeigen. Dabei reicht die interne IP vollkommen aus. Kann ich diese PC dann eigentlich über die Indy TCP Komponente dann auch direkt über die interne IP ansprechen?

Danke für eure Antworten!
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 01.05.12 22:19 
Moin!

user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
ich möchte gerne alle aktive (derzeit mit dem Netzwerk verbundenen) Geräte anzeigen.
Vorab: es gibt für dieses "Problem" keine einfache Lösung, jedenfalls sicher nichts, was du dir darunter vorstellen würdest (z.B. eine Funktion die man aufruft und schwupps alls PCs in eine Liste schreibt oder sowas). :nixweiss: Ja, ich weiß, hört man nicht gerne, und es gibt sicher immer wieder Leute, die sagen, das stimme nicht, aber bei Licht betrachtet sind deren "Lösungen" dann auch nur immer wieder irgend eine beliebig genaue Näherung, aber keine Lösung. :idea:

Du kannst z.B. alle IPs des Subnets anpingen, kriegst du eine Antwort, weißt du, dass unter dieser Adresse ein aktiver IP-Stack erreichbar ist (was aber nicht ausschließt, dass es Geräte gibt, die auch aktiv sind, aber nicht auf einen Ping antworten). Dann hast du aber auch Printerserver, Router, etc.pp. "gefunden".

user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
Dabei reicht die interne IP vollkommen aus. Kann ich diese PC dann eigentlich über die Indy TCP Komponente dann auch direkt über die interne IP ansprechen?
Du möchtest doch sicher eher aktive Programminstanzen deiner Anwendung im LAN suchen, oder? ;) Dann bietet sich ein UDP-Broadcast an. Eine aktive Programminstanz kann dann darauf antworten und du kannst sicher sein, dass da ein geeigneter "Gesprächsparter" auf der anderen Seite ist. :think:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.

Für diesen Beitrag haben gedankt: jaenicke
Nano-Ware Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Di 01.05.12 22:38 
Ja, ich werde das dann wohl per TCP machen. Nur wie geh ich de einzelnen IPs durch, dass ich sicher bin, dass ich auch überall geschaut habe?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 01.05.12 23:13 
Moin!

user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
Ja, ich werde das dann wohl per TCP machen.
Vorsicht Falle: ich sprach von einem UDP-Broadcast, nicht TCP! ;)

user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
Nur wie geh ich de einzelnen IPs durch, dass ich sicher bin, dass ich auch überall geschaut habe?
Was jetzt, Ping oder UDP-Paket? :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 02.05.12 09:00 
Meinst du vielleicht so was: michael-puff.de/Prog...ramme/LuckiePing.zip
Nano-Ware Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Do 03.05.12 19:53 
Das LuckiePing Programm verstehe ich nicht. Sagt mir einfach, wie ich das machen soll ich versteh nur Bahnhof. Ich möchte einfach alles aktiven PCs anzeigen lassen, auf denen meine Software läuft. Das wird doch irgendwie möglich sein oder?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 03.05.12 21:51 
Das hat Narses ja schon geschrieben... Wenn du nicht weißt was UDP oder ein Broadcast ist, dann wirst du das wohl nachlesen müssen. Es macht wenig Sinn, wenn wir hier die Inhalte aus Wikipedia oder ähnlichen Seiten für dich reinkopieren...
de.wikipedia.org/wik...er_Datagram_Protocol
de.wikipedia.org/wiki/Broadcast

Wenn du dir das angeschaut hast, dann weißt du wie es prinzipiell funktioniert. In Delphi erstellst du dann einen UDP-Server, z.B. TIdUDPServer, lauschst auf einem gewählten Port auf Daten aus dem Netzwerk, indem du OnUDPRead als Event benutzt und schickst mit der Methode Broadcast die Daten an alle anderen im Netzwerk. Soweit zur Kurzfassung...
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 03.05.12 22:36 
Moin!

user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
Sagt mir einfach, wie ich das machen soll
Vielleicht hilft das ja weiter. :les: :think: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.

Für diesen Beitrag haben gedankt: jaenicke
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1600
Erhaltene Danke: 232


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Fr 04.05.12 13:47 
user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
Das LuckiePing Programm verstehe ich nicht. Sagt mir einfach, wie ich das machen soll ich versteh nur Bahnhof.


Ich glaube kaum, daß sich dafür jemand hergeben wird. Luckie legte seinem Programm - wie fast überall - die Quelltexte bei. Frag' doch erst einmal seine Quelltexte. Auch ich hatte schon Programme nachzuvollziehen versucht, bei denen ich die Quelltexte Schritt für Schritt abarbeiten konnte - es gelang mir trotzdem nicht. Wenn Du Dich erkennbar bemühst, was man dann auch an Deinen Fragen wahrnehmen kann, weil die dann spezieller bzw. konkreter sind, wird man Dir sicher zu helfen sich bemühen. Aber lediglich in Deinem "Bahnhof" die Züge zu rangieren, ist keine konkrete Fragestellung. Dir wird nichts anderes übrigbleiben, als mit viel Fleiß Dich in etwas hineinzuarbeiten, wenn Du etwas programmieren möchtest, was wirklich Deine Arbeit ist.

Asche auf's Haupt: Natürlich übernahm auch ich schon Algorithmen und Quelltexte, die ich nicht verstand. Diese zur Zufriedenheit in seine Programme zu integrieren, ist dann aber reine Glückssache.

user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
Ich möchte einfach alles aktiven PCs anzeigen lassen, auf denen meine Software läuft. Das wird doch irgendwie möglich sein oder?


Auf denen Deine Software läuft? Das ist ja noch einen Anspruch höher. Vielleicht kann man ja den Prozeßschnappschuß auch auf Ferncomputern ("remote") ausführen (lassen), aber ob das möglich ist, ist mir unbekannt. Aber der ist auch ganz leicht auszutricksen: Man muß nur den Namen der startenden Exe-Dateien verändern, und schon ist Deine Software mit ihm nicht mehr zu finden. Ergänzung: Vielleicht kann man das verhindern, indem die Software ihren eigenen (Exe-Datei-)Namen beim Start prüft und ggf. abbricht.


Zuletzt bearbeitet von Delphi-Laie am Fr 04.05.12 21:51, insgesamt 2-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 04.05.12 13:54 
user profile iconDelphi-Laie hat folgendes geschrieben Zum zitierten Posting springen:
Auf denen Deine Software läuft? Das ist ja noch einen Anspruch höher. Vielleicht kann man ja den Prozeßschnappschuß auch auf Ferncomputern ("remote") ausführen (lassen), aber ob das möglich ist, ist mir unbekannt.
Wenn man mit UDP-Broadcasts arbeitet wie vorgeschlagen, ist das gar nicht notwendig, und die Funktionalität an sich ist auf diesem Weg auch relativ einfach umsetzbar.

Für diesen Beitrag haben gedankt: Narses
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 04.05.12 20:21 
user profile iconNano-Ware hat folgendes geschrieben Zum zitierten Posting springen:
auf denen meine Software läuft. Das wird doch irgendwie möglich sein oder?

Na die entscheidende Information kommt ja früh. :roll: Dann ist mein Programm natürlich keine Lösung.