【问题标题】:Client - Server: If the clients announce their presence to the server, and then the server takes over, is it still client server, or is it P2P?客户端 - 服务器:如果客户端向服务器宣布他们的存在,然后服务器接管,它仍然是客户端服务器,还是 P2P?
【发布时间】:2009-02-12 00:30:12
【问题描述】:

读者好! 所以我正在尝试开发一个客户端服务器系统。由于我之前没有设计过客户端服务器系统,所以我想我会发布一个问题,看看这里的专家有什么要说的。

要求: .NET 3.5 WCF 至少 2 台计算机,主机和从机。

用例是一个测试环境,从属设备应主设备的请求运行测试。

问题: 我希望从站定位并连接到主站,然后主站控制并启动要运行的测试。 slave 也会做进度报告:新的测试数据、意外事件等。

我比较困惑的部分是,如果奴隶主动与主人联系,那他不是主人吗?

这是否意味着我在从属和主控上都需要服务主机,以便它们可以启动活动?

【问题讨论】:

  • 你在测试什么?牛排刀的强度?中国?
  • 迷失了我们是否试图阅读你的问题..(或试图理解你的观点)
  • 嗯。你迷路了。失去了我还有你。
  • “嗨,为我做我的工作,谢谢!!” - 无知的药人

标签: .net wcf architecture client-server distributed


【解决方案1】:

我决定在一篇博文中回答这个问题:

http://dotmad.net/blog/2009/02/the-role-ofclients-and-services-in-wcf

【讨论】:

  • 我很高兴我的困惑状态足以写一篇博客文章。你的解释清楚而有启发性。将其发布在此处可能会有所帮助,以便该文本可搜索并可供 stackoverflow 社区使用。
【解决方案2】:

客户端/服务器和主/从不要混淆。 Master 控制动作,但 Server 监听连接。

如果您的客户端(从属)正在发起所有联系,那么您在主服务器上所需要的只是监听这些请求(网络服务等)和处理系统。

【讨论】:

    【解决方案3】:

    我不知道为什么你的问题被否决了,我觉得没问题 :)

    如果我是你,我可能会倾向于使用 netMsmqBinding(我喜欢队列!)。 master 可以通过将消息放在 MSMQ 队列上来向 slave 发送请求,slave 可以通过 MSMQ 将状态报告发送回 master。这样两个进程可以独立工作,您不必担心一个进程跟不上另一个进程(除非一个进程完全陷入困境。)

    为此,您需要在两个进程中都有一个 ServiceHost。 master 需要托管一个 netMsmq 服务,slave 也是如此。每个还需要一个客户端绑定来发送消息。

    如果您需要更多的并行处理,这也可以让您扩展从属设备(或主设备)的数量。 (所有从站都可以从同一个队列中拉出消息)。

    只是一个想法。

    【讨论】:

      【解决方案4】:

      查看 DuplexContracts,它可以让您了解可以调用客户的方法。 WCF 中也有事件处理,尽管它比普通的 .NET 事件需要更多的工作。

      【讨论】:

      • 我已经有一段时间没有检查这个页面了,经过几次反对投票后,我认为这个问题永远不会得到回答。我简化了职责,可能会执行类似于您在此处提到的双工合同。
      • 很高兴我能帮上忙。我目前正在自己​​使用 DuplexContract 开展一个项目。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      • 1970-01-01
      • 2010-09-29
      • 1970-01-01
      相关资源
      最近更新 更多