Kommunikation zwischen zwei .exe Programmen?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

Shaman

Betreff: Kommunikation zwischen zwei .exe Programmen?

BeitragMi, Sep 28, 2011 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe zwei Programme, die kommplett seperat laufen und gestartet werden (test1.exe, test2.exe).

Wie schaffe ich, dass test1.exe test2.exe eine String-Nachricht sendet?
(Also Kommunikation zwischen zwei Programmen)

Dies sollte möglichst schnell von statten gehen, und wenn möglich sogar blockierend (in einem Side-thread)
(also ein thread in test2.exe wartet auf ein String von test1.exe)

Wie schaffe ich das?

Der Eisvogel

BeitragMi, Sep 28, 2011 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Am besten mit Named Pipes. East-Power-Soft hat da mal was geschrieben, ich hab mir das dann für BM umgeschrieben:
https://www.blitzforum.de/foru...815#393815
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

PhillipK

BeitragMi, Sep 28, 2011 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Und das "anhalten bis etwas reinkommt" lässt sich ganz einfach über einen Timer lösen Smile

BlitzMax: [AUSKLAPPEN]
Local timer:TTimer = CreateTimer(60) 'Tickt 60x die sekunde!

While Not AppTerminate()
WaitTimer(timer)
'hier abfragen, ob was ankam.
Wend


Mal so grob ausm ärmel geschüttelt..

Named pipes wollte ich mir auchnoch vornehmen. Hab grade einen kleinen Ressourcen Kampf mit einem kern meines CPU's - vielleicht kann ich dir die Tage besser helfen, wenn ich mich in die Materie eingearbeitet hab =)

ToeB

BeitragDo, Sep 29, 2011 0:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja eigl. eher so :
BlitzMax: [AUSKLAPPEN]
Function WaitForMsg:Object( data:Object )
Local timer:TTimer = CreateTimer( 60 )
Repeat
WaitTimer( timer )
'Reinschreiben worauf gewartet werden soll
'Plus auswertung
Forever
End Function


So kannst du es mit CreateThread erstellen und "nebenbei" laufen lassen. (Allerdings habe ich Threads noch nie so wirklich benutz deshalb solltest du nochmal nach gucken ob man die Repeat-Forever Schleifen nicht doch mit einer Repeat-Until schleife versehen sollte, bis halt der Thread beendet wurde...)


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

Shaman

BeitragDo, Sep 29, 2011 12:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank Eisvogel!!
Die NamedPipes funktionnieren. Very Happy

Und danke auch an PhillipK und ToeB für den Rat zum blockierenden Empfangen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group