我一直在.net工作几年,这是我第一次进入IPC。我知道做IPC的各种可能性(命名管道,远程处理,剪贴板管理,Win32API消息传递),但我不知道什么“适合我”。我打算使用以下设置:C#IPC建议和比较
站点对象:这是需要ipc的原因。它将是代表远程机器上文件集合的单个对象(可能是本地的,可能是真正的远程)。
服务器:server.exe进程将监视上面提到的文件系统,并更新站点对象此过程将随后保持连接到服务器的所有客户端更新,并定期发布新的Site对象副本(从客户端强制更新或服务器自动更新)。
客户:需要定期更新“网站”。它也希望能够修改站点对象(或至少发送消息到服务器,要求它做出特定的修改)
TL; DR版本:服务器上的Singleton实例(它将主动修改单例) ,有多个客户端监控单身人士,客户可以更改(或请求服务器更改)单身人士
备注:所有的.net,没有混合的平台我看了一下Remoting,但它似乎超出了(或者我完全不理解)
我不确定这些更适合社区维基是否适合社区维基,请随时加以改变。
感谢
这看起来像一个大学作业:) – sukru 2010-07-28 20:33:52
远程处理支持事件,但我不会使用它,除了在局域网上。你可以看看WCF和双重绑定来回发送消息。也读取SO - http://stackoverflow.com/questions/56121/ipc-mechanisms-in-c-usage-and-best-practices – 2010-07-28 20:37:26
哈,我希望它在哪里大学的任务。我们正在取代一个15年前的系统,做了同样的事情。我们的解决方案是基于Shmem推出我们自己的IPC。我们希望做类似的事情,但希望能够用Object来完成。 – greggorob64 2010-07-28 21:52:06