Schnittstelle zwischen 2 Programmen

#1
Hi Leute,

ich habe vor ein Programm A zu schreiben, dass aus einem anderen Programm B Daten abließt, diese dann wiederum in ein anderes Programm C eingibt. Das Programm C dann aus dem Bearbeiten, der eingegeben Daten, Befehle berechnet und diese dann durch das Programm A in B eingegeben werden.
Ich weiß leider als Programmierneuling nicht, wo ich da anfangen soll. Welche Sprache, gibt es für solche Schnittstellen bereits Programme,..?
Hat da jemand für mich einen geeigneten Schlachtplan? :)

Liebe Grüße,
efficiens
 

Firefall

Well-Known Member
c-b Experte
#5
Solche Inter-Process Communication ist oft etwas mühsam. Zwei elegante Ansätze wären:
1. Shared Memory
2. Sockets
Shared Memory ist am effizientesten, aber bei weitem nicht in allen Sprachen machbar, Sockets sind langsamer aber eine schönere Abstraktion weil du dann auch direkt über's Internet kommunizieren kannst.
 

Xpyder

Well-Known Member
c-b Experte
#6
Ich habe so etwas schon einmal mit einem File gemacht - das diente quasi als "Container".
Ich Shared-Read UND Write Mode geöffnet. (Ist Mode 66dez.)
Sinn des Ganzen ist, zwischen meinen DOS-Programmen und einem Tool, das ich zusammen mit einem Kumpel in VB (für Windows) geschriebene habe, ein TCP- und UDP- "Relais" zu haben. D.h. das Programm hat von DOS-Seite aus die Pakete genommen und nach Windows (über Sockets) ins "Internet"/Netzwerk geworfen und es hat am "Internet"/Netzwerk "gelauscht" und die Pakete, die für die entsprechenden IP-Adressen/Ports waren, zurück an's DOS-Programm geworfen.
Das "Container-File" funktioniert dabei quasi wie ein Ringpuffer.
(Das ganze supportet bis zu 5 DOS-Programme geleichzeitig. Die erkennen das Vorhandensein des Windows-Programms... usw.)
Naja, jedenfalls: Meine TCP/UDP-IP Subroutinen sind darauf ausgelegt, entweder direkt per seriellem Port (Modem) zu funktionieren ODER mit Netzwerk unter DOS (Crynwr-Standard) ODER mit diesem o.g. Windows-Ding (namens NetLink) - ODER in Kombination von mehreren dieser.
Speziell das o.g. "Relais-Programm" über ein File ist natürlich so ein wenig "von hinten durch die Brust ins Auge" - aber Files scheinen mir die einzige Möglichkeit zu sein, zwischen DOS-Programmen (die unter WindowsXP laufen) und WindowsXP zu kommunizieren.

Vielleicht ist das als vorläufige Idee geeignet.

Habe auch mal überlegt, den Grafikpuffer dafür zu benutzen - quasi die letzten Bytes, die nicht angezeigt werden (da außerhalb der Auflösung).
 

ghost0

Well-Known Member
#7
Um was für Daten handelt es sich eigentlich ( Menge, Art z.B. String, ... ) und wie werden sie von den beiden Programmen normalerweise erfasst bzw. ausgegeben?
 
Oben