Tovejs mellem-process kommunikation - hvad er bedst?
Hej,jeg er interesseret i at have en server process kørende som så stiller et interface til rådighed for en række klient processer.
Både server og klienter vil altid køre på samme maskine.
Umiddelbart kan man ofte i f.eks. Windows bare lave en DLL som de enkelte klienter så linker til. Det gør det nemt at kode klienten i C++ når man har C++ header fil med APIet og DLLen, dejligt.
Men jeg har det problem at serveren skal bruge nogle data på tværs af klienterne (det kunne laves som et "shared memory segment" men det er jeg ikke glad for pga. fremtidige udvidelser af APIet og hvad det kan afstedkomme i fælles data området). Men måske er der ikke noget galt i det?
Derudover ønsker jeg faktisk også at serveren kan lave en form for callback ind i den enkelte klient, således at klienten (eller flere af dem) får information om hændelser fra serveren.
Jeg ser flere muligheder:
1) Lave en DLL med et fælles data segment, hm!.
2) Bruge COM som interface til serveren, men så skal klienterne jo også virke som COM server for at få information fra serveren om hændelser via en form for callback. HM igen!.
3) Bruge Windows hændelser som f.eks. i Skype APIet (som jeg lige nu kigger på i en anden sammenhæng).
4) Bruge .NET (og hvad skal bruges i .NET?).
5) Andet?
Umiddelbart skal det køre på Windows 200 eller nyere. Men det må gerne være nemt at flytte til Linux eller MAC.
Spørgsmålet er så om I her har nogle metoder at løse problemet på gerne lidt argument herfor.
Håber også det er forståeligt hvad jeg ønsker.
Mvh Torben.