Kommunikation zwischen Prozessen

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
BlueShark
Beiträge: 79
Registriert: 28.02.2009, 18:55
Alter Benutzername: BlueShark

Kommunikation zwischen Prozessen

Beitrag 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
Benutzeravatar
Schrompf
Moderator
Beiträge: 5047
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Kommunikation zwischen Prozessen

Beitrag 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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
BlueShark
Beiträge: 79
Registriert: 28.02.2009, 18:55
Alter Benutzername: BlueShark

Re: Kommunikation zwischen Prozessen

Beitrag 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
Benutzeravatar
Schrompf
Moderator
Beiträge: 5047
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Kommunikation zwischen Prozessen

Beitrag von Schrompf »

Sockets sind Sockets. Was Du auf der einen Seite reinsteckst, kommt auf der anderen Seite raus.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
odenter
Establishment
Beiträge: 207
Registriert: 26.02.2009, 11:58

Re: Kommunikation zwischen Prozessen

Beitrag 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.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Kommunikation zwischen Prozessen

Beitrag 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...
Antworten