Autor Beitrag
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: Do 23.06.05 09:52 
Hallo alle,

ich bin auf der Suche nach Vorschlägen für eine Technik, mit der zwei von einander unabhänige (selbst geschriebene) Programme miteinander kommunizieren können.
Ein Programm soll dabei als Client, das andere als Server arbeiten. Der Client schickt Anfragen an der Server, der tut was und schickt Antworten zurück.

Ich habe bisher Erfahrung mit DDE und TCP/IP. Beide Techniken haben für mich ihre Vorteile aber auch ihre Nachteile. Ich liste die hier mal, damit ihr ungefähr wisst, was ich meine.

DDE
+ leicht zu implementieren
+ der Client kann die Server-Applikation im Bedarfsfall auch starten
- meines Wissens veraltete Technologie
- geht nicht übers Netzwerk

TCP/IP
+ leicht zu implementieren
+ geht übers Netzwerk
- der Client kann die Server-Applikation nicht starten
- TCP/IP-Stack muss installiert sein
- es ist eine Parametrierung (Server-IP und -Port) notwendig,
die für Anwender mit geringen Computer-Kenntnissen erst mal schwer verständlich ist.

Meine Frage ist nun: Welche weiteren Techniken gibt es, die die im günstigsten Fall Vorteile von DDE und TCP/IP in sich vereinen.
Ich verwende übrigens Delphi 7 (WIN32).

Beste Grüße
Tastaro
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Do 23.06.05 10:04 
DDE:
Dafür gibt es auch eine Möglichkeit mit der man übers Netzwerk arbeiten kann. Frage mich bitte nicht wie aber ich hatte mal was darüber gelesen. Aber ich würde von DDE abraten, da alles Text ist und man sich nicht immer darauf verlassen kann es so funktioniert.

TCP:
Wenn beide Anwendungen auf dem selben Rechner laufen kannst du mit 127.0.0.1 das Problem der Konfiguration schon ausschalten. Also Port würde ich sowieso standard immer einen vorgeben. Den man zwar zur Not ändern kann aber nicht muss.

COM:
Du kannst ja unter anderem auch eine COM Schnitstelle basten und damit arbeiten. Ähnlich wie das in Office der Fall ist. Da kannst du die Anwedung bei Bedarf starten und wieder schließen. Die Schnittstelle ist unter anderem auch Objektorientiert und bietet somit gleich sinnvolle Funktionen. Du musst deine Kommunikation also nicht erst auf Byteebene codieren. Das geht unter anderem auch übers Netzwerk. Hat aber den Nachteil, dass nicht gerade leicht zu implementieren ist. Der Server muss dann allerdings registriert sein. Das kann man aber Problemlos wärend der Installation erledigen.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 23.06.05 10:09 
Also da gibts zwar auch andere Möglichkeiten, aber ich bleibe mal bei TCP/IP. Man MUSS in einem Netzwerk gar nicht die IP kennen, denn es gibt Möglichkeiten, alle Rechner im Netzwerk aufzulisten, d.h. es müsste nur an einem Rechner das Programm lauschen, und dann kann man das auch finden.

Starten kann man das Programm übers Netzwerk natürlich nicht, aber das geht sowieso gar nicht. (jedenfalls nicht ohne Tricks und dann kaum automatisch bzw. legal)

Deshalb: Man kann durchaus wahrscheinlich mit TCP/IP das machen, was du vorhast...