Seite 1 von 1

Kommunikation zwischen Prozessen

Verfasst: 13.07.2009, 16:40
von BlueShark
Moin moin,
ich programmiere hauptsächlich mit wxWidgets und will mich nun endlich mal an Prozesse wagen. Nur frage ich mich, wie ich die Kommunikation umsetzen soll? Ich muss ja sozusagen eine Server-Client Beziehung programmieren, doch was soll ich dafür benutzen? Und wie sieht es aus, wenn ich zwei Anwendungen über ein Netzwerk kommunizieren lasse? Und vor allem ist es mir wichtig, dass dies auch schnell geschieht, da der Umfang an gesendeten Daten wohl auch ziemlich hoch sein wird.
Was ich will:
  • 1) wxWidgets verwenden
    2) schnelle Methode für die KOmmunikation
    3) sollte im Netzwerk funktionieren
    4) auch Anwendungen, die nicht wxWidgets verwenden sollen mit der Anwendung kommunizieren können
Mfg
BS

Re: Kommunikation zwischen Prozessen

Verfasst: 13.07.2009, 18:11
von Schrompf
Sind das wirklich getrennte Prozesse? Wenn ja, dann hast Du die Interprocess Communications (für Windows http://msdn.microsoft.com/en-us/library ... S.85).aspx) zur Auswahl. Ich würde davon die Pipes oder Sockets empfehlen, letzteres geht dann auch stressfrei in einem lokalen Netzwerk.

Wenn es aber nur um die Parallelisierung von Aufgaben geht, sind Processe kontraproduktiv. Mehrere Threads innerhalb eines Prozesses sind dann eher zu empfehlen. Und dafür nimmt man dann Atomare Operationen, Lock-free Queues oder Mutexe und Barrieren.

Re: Kommunikation zwischen Prozessen

Verfasst: 13.07.2009, 18:35
von BlueShark
Ja, es sind wirklich Prozesse. Die rechenintensiven Sachen teile ich auf Threads auf.

Aber nun ist noch die Frage offen, ob ich die wxSockets auch mit denen von NET verbinden kann. Wäre nämlich echt klasse, wenn meine NET-Anwendungen mit meinen wxWidgets-Anwendungen kommunizieren könnten.

Mfg
BS

Re: Kommunikation zwischen Prozessen

Verfasst: 13.07.2009, 18:39
von Schrompf
Sockets sind Sockets. Was Du auf der einen Seite reinsteckst, kommt auf der anderen Seite raus.

Re: Kommunikation zwischen Prozessen

Verfasst: 16.07.2009, 19:03
von odenter
http://msdn.microsoft.com/en-us/library ... S.85).aspx
Da findest Du die verschiedenen Möglichkeiten die unter Windows gehen, in wie weit die auch gekapselt unter wxWWidgets zur Verfügung stehen weiss ich nicht.
Sockets und Clipboard wohl auf jeden Fall.

Mailslots sind übrigens schlecht, da Daten verloren gehen können.

Re: Kommunikation zwischen Prozessen

Verfasst: 16.07.2009, 19:18
von Chromanoid
wenn du es etwas komplizierter haben willst könntest du das p2p framework jxta benutzen... das hat auch ne c++ implementation...

ich glaub http://incubator.apache.org/thrift/ ist auch interessant...