1

我在 C# 中有一个多服务器客户端应用程序。我的要求是在不同的客户端之间交换一些浮点值。哪种 IPC 机制最好且易于使用。我读过共享内存是最简单的,但是它使用了在 C# 中被认为是不安全代码的指针。你能建议我其他机制吗?代码示例将非常受欢迎。

4

1 回答 1

1

最好的方法是使用 WCF 命名管道。以下是一些主要程序。

  1. 定义两个接口,比如 IServerActions 和 IClientActions IServerActions 定义了客户端应用程序调用的方法;IClientActions 定义了服务器单独调用或广播的方法。IServerActions 应该包括一个 Register 方法。
  2. 在客户端和服务器应用程序中实现这两个接口。实现类可以是主窗体或应用程序中的任何单例类。
  3. 客户端到服务器和服务器到客户端的通信是相似的,创建一个命名管道通道和调用方法。客户端获得一个唯一 ID(例如 Guid.NewGuid())并在服务器上注册。服务器维护一个客户端 ID 列表,并且可以创建单独的频道来广播消息(在您的情况下发送浮动数字)

这是 .NET C# 中的一个很好的示例解决方案。
http://www.codeproject.com/Articles/7176/Inter-Process-Communication-in-NET-Using-Named-Pip

于 2012-06-12T19:28:46.973 回答