I've been working in .net for a few years, and this is my first foray into IPC. I know of the various possibilities for doing IPC (Named Pipes, Remoting, Clipboard Managment, Win32API messaging), but I don't know whats "right for me". I plan on using the following setup:
Site Object: This is the reason the ipc is needed. It will be a single object representing a collection of files on a remote machine (may be local, might be truly remote).
Server: The server.exe process will monitor the file system mentioned above, and update the Site Object This process will then keep any\all clients connected to the server updated, giving out new copies of the Site object at regular intervals (Either from client forced updates, or server automatic updates).
Client: Needs to be regularly updated about the "Site". It also wants to have the ability to modify the Site object (or at least send messages to the server asking it to make specific modifications.
TL;DR version: Singleton instance on the server (which will actively modify the singleton), with multiple clients monitoring the singleton. The client can change (or request the server to change) the singleton.
Notes: All .net, no mixing of platforms. I've looked into Remoting, but it seemed out of context for the application I'd like to to have (or I didn't understand it fully).
I'm not sure if these is better fit for a community wiki or not, feel free to jerk it around.
Thanks