我已经在.net工作了几年,这是我第一次涉足IPC。我知道做IPC(命名管道,远程处理,剪贴板管理,Win32API消息传递)的各种可能性,但我不知道什么是“适合我”。我计划使用以下设置:
Site Object:这就是需要ipc的原因。它将是一个表示远程计算机上文件集合的单个对象(可能是本地的,可能是真正的远程)。
服务器:server.exe进程将监视上面提到的文件系统,并更新站点对象此过程将保持连接到服务器的所有客户端更新,定期发布站点对象的新副本(来自客户端强制更新或服务器自动更新。
客户:需要定期更新“网站”。它还希望能够修改Site对象(或者至少向服务器发送消息,要求它进行特定的修改。
TL; DR版本:服务器上的Singleton实例(将主动修改单例),多个客户端监视单例。客户端可以更改(或请求服务器更改)单例。
注意:所有.net,没有混合平台。我已经研究了远程处理,但它似乎与我想要的应用程序不相关(或者我完全不了解它)。
我不确定这些是否更适合社区wiki,随时可以随意使用。
由于
答案 0 :(得分:3)
.NET Remoting只是.NET 2.0的一个特性 - 一组技术和库,简化了常见的进程间通信方式(命名管道,网络套接字,HTTP post / get查询)的使用
在.NET 3.0中,它是WCF。
所以歌词,就像你一样:在安全局域网上的机器之间使用TCP套接字,在Internet上使用HTTP(Soap,WebMethods,或者只是HTTP),在一台机器上使用IPC来交流进程(客户端和服务器) 您选择的平台(.NET 2.0 Remoting或.NET 3.0 WCF) - 取决于您。
P.S。:我仍然使用.NET 2.0 Remoting框架。