![]() |
instanz des eigenen Programms im Netzwerk finden?
Hallo zusammen,
Tschuldigung, mir ist kein sinnigerer Betreff eingefallen. Ich habe eine Frage: Mein Prog ist auf zwei Rechnern im lokalen Netzwerk installiert. Beide haben einen idTCPServer und idTCPClient laufen, um miteinander kommunizieren zu können. Soweit, so schön. Gibt es irgendeine Möglichkeit herauszufinden, auf welchem Computer die zweite Instanz läuft... Also, was ich meine ist: Das Programm wird auf einem Rechner gestartet und, tja, scannt, das Netz, ob es irgendwo eine zwei, laufende Instanz von sich selber findet. Ich kann ja schlecht die letzte stelle der IP-Adresse komplett durchscannen, also sowas basteln wie...
Delphi-Quellcode:
Das geht doch sicher eleganter, oder?
for i := 0 to 255 do
begin client.host := '192.168.2.* + intToStr (i); client.connect; if client.connected then // zweite Instanz gefunden; end; Für einen Tipp wäre ich sehr dankbar. Viele Grüße Marco |
AW: instanz des eigenen Programms im Netzwerk finden?
|
AW: instanz des eigenen Programms im Netzwerk finden?
|
AW: instanz des eigenen Programms im Netzwerk finden?
Ja, mit einem UDP-Broadcast, den die Anwendung selber immer wieder versendet mit der Information "Was bin ich" (Service-Typ), "Wo bin ich" (IP + Port).
Also nicht suchen, sondern darauf lauschen, wer "Hier bin ich" schreit :stupid: |
AW: instanz des eigenen Programms im Netzwerk finden?
Grundsätzlich gibt es mehrere Möglichkeiten:
|
AW: instanz des eigenen Programms im Netzwerk finden?
Der Oberbegriff dazu ist
![]() ![]() Du kannst z.B. mit Pipes arbeiten. ![]() ![]() Alternative Implementierung in einer Komponente (eleganter): ![]() |
AW: instanz des eigenen Programms im Netzwerk finden?
Hallo zusammen,
zunächsteinmal ganz, ganz herzlichen Dank für die Antworten - das Wetter ist so schäußlich, da kann man 'ne Menge lesen... ;-) Ich denke, ich werde das Ganze mit UDP-Broadcasts realisieren. Dazu noch eine Frage: bisher habe ich die Nachrichten via TCP gesendet - spricht etwas dagegen, die via UDP zu senden, dann brauche ich nicht jeweils einen Server und Client fü TCP und UDP? Viele Grüße Marco |
AW: instanz des eigenen Programms im Netzwerk finden?
hallo,
UDP gewährleistet nicht, dass die Nachricht auf der anderen Seite auch ankommt. Also die eigentliche Kommunikation würde ich weiterhin über TCP abwickeln. mfg |
AW: instanz des eigenen Programms im Netzwerk finden?
Zitat:
|
AW: instanz des eigenen Programms im Netzwerk finden?
.. wie verhält es sich denn mit Zero Configuration Networking und der Windows Firewall.
Die blockiert sowas doch in der Regel und muss dann vom Anwender freigeschaltet werden. Oder irre ich micht hier? Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz