Kommunikation über "named pipes"

B.XP

Urgestein
Thread Starter
Mitglied seit
06.07.2006
Beiträge
6.899
Ort
Bayern
Guten Abend,

ich hätte ne Frage die die "named pipes" unter Windows zum Thema hat. Ich muss auf einem Rechner (lokal) die kommunikation zwischen zwei Prozessen herstellen, was bisher über mehrere Dateien passiert. Ein Typ dabei von einem Prozess geschrieben und vom anderen gelesen, der zweite SOLL abwechselnd geschrieben und gelesen werden. Ein Prozess dient dabei als Hintergrundprozess ("Master"), der andere als Windows Frontend für Windows ("Client"/Simulator), dass den Master steuert.
Beides ist zwar unter C++ geschrieben, der Master aber als Linuxprogramm mit "Windows-Modus" aus Eclipse und MinGW-Toolchain, der Client unter Visual Studio 2008.
Das Problem an den Dateien sind a) die Performance/Timingprobleme b) eventuelle Zugriffsverletzungen und c) endlos viel code zum Abfangen der Fehler.

Eine mögliche Lösung wären die "Named Pipes" von Windows, die Codebeispiele von MSDN (teilweise) zu übernehmen ist aber fast unmöglich, da nur im "Message-Mode" kommuniziert wird, und nicht über Binärdaten/Byteweise (letzterer Modus ist auch nicht wirklich erklärt), zudem laufen größere Teile davon mit der MinGW-Toolchain nicht richtig. Also das Programm lässt sich compilieren, aber bleibt dann hängen (endlosschleife).

Kann mir jemand dabei weiterhelfen? Oder gibt's bessere Vorschläge?

€dit: http://www.codeguru.com/cpp/w-p/system/sharedmemory/article.php/c5771/ würde mir zwar weiterhelfen, aber damit kommt Eclipse/MinGW nicht klar, und liefert mir unplausible Fehlermeldungen beim Compilieren.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh