Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Kommunikation zwischen mehreren eigenen Tools ... Womit? (https://www.delphipraxis.net/98999-kommunikation-zwischen-mehreren-eigenen-tools-womit.html)

torud 5. Sep 2007 09:37


Kommunikation zwischen mehreren eigenen Tools ... Womit?
 
Hallo Wissende,

ich habe mehrere Tools, die sich untereinander Daten austauschen sollen. Bisher habe ich es so gelöst, dass ich die Parameter per ShellExecute übergeben habe. Dies setzt jedoch voraus, dass das andere Tool, welches die Daten erhalten soll nicht gestartet ist, oder es wird eine neue Instanz erzeugt. Wenn ich nun Inhalte an meinem Hauptprogramm ändere und diese erneut senden will, würde ja das empfangende Tool erneut gestartet werden. Ich will aber lieber nur die aktualisierten Daten senden und das Tool "fischt" sich selbst raus, was neu ist und aktualisiert seine Inhalte.

Das dürfte wohl mit ShellExecute nicht laufen. Oder?

Es gibt für mich daher 2 sichtbare Wege. Ich könnte die Daten per UDP senden oder mittels TCP/Ip übertragen.

Was würdet Ihr preferieren? Und -
Gibt es auch andere Möglichkeiten?

Das ganze soll nicht nur bei mir laufen, sondern auch bei Kunden installiert werden. Daher auch die Frage, ob es überall möglich ist diese Kommunikation so zu betreiben...Die Tools sollen nicht im Netzwerk miteinander kommunizieren, sondern nur lokal auf einem PC. Gibt es sonst noch wichtige Dinge, die ich beachten muss?

Gruber_Hans_12345 5. Sep 2007 09:39

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
 
ich würde auch NamedPipes in betracht ziehen

und wenns nur lokal ist, könntest es auch mit MMF bzw. WM_COPYDATA machen (oder "normalen" Windows Messages - je nachdem wieviel daten)

mkinzler 5. Sep 2007 09:40

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
 
Named Pipes, Zwischendateien, Datenbank, Messages, ...

RavenIV 5. Sep 2007 10:02

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
 
Also das mit TCP/IP solltest Du vergessen.
Es kann sein, dass auf einem Kunden-PC kein Netzwerk installiert ist. Dann funktioniert TCP/IP nämlich nicht korrekt oder garnicht.

Am einfachsten tust Du Dir vermutlich mit Windows-Messages.
Dann ist das Thema NamedPipes sicher noch interessant.
Etwas veraltet aber dennoch perfomant sind die Mailslots.
Als Schlagwort kann ich auch noch IPC (Inter Process Communication) einwerfen.

Angel4585 5. Sep 2007 10:07

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
 
Zitat:

Zitat von RavenIV
Also das mit TCP/IP solltest Du vergessen.
Es kann sein, dass auf einem Kunden-PC kein Netzwerk installiert ist. Dann funktioniert TCP/IP nämlich nicht korrekt oder garnicht.

Geht das echt nicht? Ich dachte nur wenn keine Netzwerkkarte drin ist?
Also dann dürfte es theoretisch nicht funzen wenn ich das Netzwerkkabel zieh?

Gruber_Hans_12345 5. Sep 2007 10:11

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
 
Zitat:

Zitat von Angel4585
Zitat:

Zitat von RavenIV
Also das mit TCP/IP solltest Du vergessen.
Es kann sein, dass auf einem Kunden-PC kein Netzwerk installiert ist. Dann funktioniert TCP/IP nämlich nicht korrekt oder garnicht.

Geht das echt nicht? Ich dachte nur wenn keine Netzwerkkarte drin ist?
Also dann dürfte es theoretisch nicht funzen wenn ich das Netzwerkkabel zieh?

dafür gibt es einen Eintrag in der Registry ich glaub der heisst DISABLE_DHCP_MEDIA_SENSE (so oder andere schreibweise) ohne diesen deaktiviert Windows das TCP/IP Protokoll, sobald das Netzwerkkabel gezogen ist (und auch die lokale IP Adressen funktionieren dann nicht mehr)

RavenIV 5. Sep 2007 10:16

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
 
Zitat:

Zitat von Angel4585
Geht das echt nicht? Ich dachte nur wenn keine Netzwerkkarte drin ist?
Also dann dürfte es theoretisch nicht funzen wenn ich das Netzwerkkabel zieh?

Unter "Netzwerk installiert" verstehe ich, dass alles eingbaut und konfiguriert ist und dass das Netzwerk physikalisch läuft.
Es muss also die Karte drin sein, die Treiber müssen installiert sein, TCP/IP muss konfiguriert sein, der Netzwerk-Stecker muss eingesteckt sein.
Ansonsten ist die TCP/IP-Kommunikation deaktiviert.

Versuch doch mal folgendes:
An einem Netzwerk-PC den Netzwerk-Stecker rausziehen.
Dann ein ipconfig /all auf der Console machen.
Und auch einen ping auf die eigene Adresse absetzen.
Als letztes kannst Du auch die ganzen net abc Befehle ausprobieren auf der Console.

Nun wirst Du vermutlich sehen, dass das Netzwerk (und auch TCP/IP) deaktiviert wurde.

Angel4585 5. Sep 2007 10:19

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
 
Also hat der lokale Apache nix mit Netzwerk zu tun, denn da komm ich auch über 127.0.0.1 auf meine Seiten wenn kein Netzwerk da ist :gruebel:

RavenIV 5. Sep 2007 10:55

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
 
Zitat:

Zitat von Angel4585
Also hat der lokale Apache nix mit Netzwerk zu tun, denn da komm ich auch über 127.0.0.1 auf meine Seiten wenn kein Netzwerk da ist :gruebel:

Das ist ein Spezialfall.
auf 127.0.0.1 kommst Du immer, wenn das Netzwerk installiert ist.
Dazu brauchst Du kein Netzwerkkabel.

Bau mal aus dem Rechner die Netzwerkkarte aus und schmeiss alle Treiber für die Netzwerkkarte raus.
Dann dürfte auch 127.0.0.1 nicht mehr gehen.

DeddyH 5. Sep 2007 11:16

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
 
Also, ich hatte jahrelang einen Rechner ohne Netzwerkkarte. Trotzdem konnte ich Verbindungen zu Loopback-Adressen (127.0.0.X) aufbauen (ich habe damals mit den Socket-Komponenten experimentiert). AFAIK hat es nur damit zu tun, ob das TCP/IP-Protokoll installiert wurde (seit Win95 Standard).


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:45 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz