![]() |
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? |
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) |
Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
Named Pipes, Zwischendateien, Datenbank, Messages, ...
|
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. |
Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
Zitat:
Also dann dürfte es theoretisch nicht funzen wenn ich das Netzwerkkabel zieh? |
Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
Zitat:
|
Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
Zitat:
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. |
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:
|
Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?
Zitat:
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. |
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 01:49 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