【问题标题】:C# IPC Recommendations and comparisonsC# IPC 推荐和比较
【发布时间】:2010-07-28 20:29:32
【问题描述】:

我已经在 .net 领域工作了几年,这是我第一次涉足 IPC。我知道进行 IPC(命名管道、远程处理、剪贴板管理、Win32API 消息传递)的各种可能性,但我不知道什么是“适合我的”。我计划使用以下设置:

站点对象:这就是需要 ipc 的原因。它将是一个对象,代表远程机器上的文件集合(可能是本地的,也可能是真正的远程)。

服务器:server.exe 进程将监视上述文件系统,并更新站点对象此进程将保持任何\所有连接到服务器的客户端更新,并定期提供站点对象的新副本(来自客户端强制更新或服务器自动更新)。

客户:需要定期更新有关“站点”的信息。它还希望能够修改 Site 对象(或至少向服务器发送消息,要求它进行特定修改。

TL;DR 版本:服务器上的单例实例(将主动修改单例),多个客户端监视单例。客户端可以更改(或请求服务器更改)单例。

注意:所有 .net,不混合平台。我研究了 Remoting,但对于我想要的应用程序来说,它似乎与上下文无关(或者我没有完全理解它)。

我不确定这些是否更适合社区 wiki,请随意使用。

谢谢

【问题讨论】:

  • 这看起来像是大学作业:)
  • Remoting 支持事件,但我不会在 LAN 上使用它。您可以查看 WCF 和双绑定来来回发送消息。另请阅读 SO - stackoverflow.com/questions/56121/…
  • 哈,我希望它在哪里大学作业。我们正在更换一个有 15 年历史的系统,它做同样的事情。我们当时的解决方案是基于 Shmem 推出我们自己的 IPC。我们希望做类似的事情,但希望能够用 Objects 来做。

标签: c# .net visual-c++ remoting ipc


【解决方案1】:

.NET Remoting 只是 .NET 2.0 的特性 - 一组技术和库,可简化常见进程间通信方式(命名管道、网络套接字、HTTP post/get 查询)的使用

在 .NET 3.0 中是 WCF。

所以歌词,至于你:在安全 LAN 上的机器之间使用 TCP 套接字,在 Internet 上使用 HTTP(Soap、WebMethods 或只是 HTTP),在一台机器上使用 IPC 来通信进程(客户端和服务器) 您选择的平台(.NET 2.0 Remoting 或 .NET 3.0 WCF) - 由您决定。

P.S.:我仍然使用 .NET 2.0 Remoting 框架。

【讨论】:

  • 感谢您提供的信息,还有一个额外的警告是我们在 Visual C++.net 中执行此操作,并且 WCF 不可用,所以我很确定我只需要继续努力弄清楚了解如何使远程处理适合。
猜你喜欢
  • 2011-02-20
  • 2010-09-29
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多