IPC extrem

Passer

Erfahrenes Mitglied
Tagchen,

ich habe vor Daten zwischen einer c# und einer VC++ Anwendung unter Windows auszutauschen.
1) Die Applikationen kennen sich nicht, sondern nur den Namen des gemeinsam zu nutzenden Speichers.
2) Die Datenmenge ist recht hoch (ca 25 MB/s), deshalb fällt TCP leider flach.
3) Die Daten werden in einer Struktur, die jeweils etwa 816kb Daten enthält, gesendet.

Soweit mein Vorhaben.

Ich habe verschiedenste Möglichkeiten ausprobiert und bin stets daran gescheitert, dass die Datenmenge zu hoch ist.

Hat jemand eventuel etwas ähnliches schon einmal versucht und kann mir zu einem geeigneten, nicht allzu kompliziertem (der Fokus liegt nämlich primär in C#) Verfahren raten?

MfG
Christoph

PS.
Die COM-Wrapper sollen nicht das Problem sein.
Ich brauche seitens c# ja nur Methoden, die folgendes können
1) Shared Memmory anlegen
2) Daten reinpacken
3) Shared Memory "beenden"

PPS.
Die Client Applikation guckt "ab und zu", ob Daten vorliegen und arbeitet diese dann sequentiell ab, so dass das Verfahren eine Art Message Queue braucht, quasi ein Art FIFO
 
Zuletzt bearbeitet:
Was hältst du von einer Named-Pipe?
Dürfte unter Windows schnell genug gehen, da z.b. der MS SQL-Server auch darüber komunizieren kann.
 
Werd ich mal ausprobieren danke.. hab da zumindest schonmal ein paar .NET Klassen für gesehen.. Der C++ Teil wird mich hoffentlich auch nicht umbringen ;)
 
Zurück