繁体   English   中英

客户端-服务器:如果客户端向服务器声明其存在,然后服务器接管,它仍然是客户端服务器,还是P2P?

[英]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?

问候读者! 因此,我正在尝试开发客户端服务器系统。由于我以前没有设计过客户端服务器系统,所以我认为我会提出一个问题,看看这里的专家怎么说。

要求:.NET 3.5 WCF至少要有2台计算机(主服务器和从属计算机)。

用例是一个测试环境,从属服务器根据主服务器的要求运行测试。

问题:我希望从属设备定位并连接到主设备,然后由主设备控制并启动要运行的测试。 从站还发出进度报告:新的测试数据,意外事件等。

我感到困惑的部分是,如果奴隶开始与主人接触,那不是使他成为主人吗?

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

我决定在博客文章中回答这个问题:

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

客户端/服务器和主服务器/从服务器不要混淆。 主服务器控制操作,但服务器侦听连接。

如果您的客户(从属)正在发起所有联系,则您在主服务器上所需的就是监听这些请求(Web服务等)和处理系统。

我不知道您的问题为什么会被否决,对我来说似乎还可以:)

如果我是您,我可能会倾向于使用netMsmqBinding(我喜欢队列!)。 主机可以通过将消息放在MSMQ队列上来将请求分派给从机,而从机可以通过MSMQ将状态报告发送回主机。 这样,两个进程可以独立工作,并且您不必担心一个进程与另一个进程保持同步(除非一个进程完全陷入困境)。

为此,在两个过程中都需要一个ServiceHost。 主服务器需要托管一个netMsmq服务,而从服务器也需要托管。 每个都还需要一个客户端绑定来发送消息。

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

只是一个想法。

签出DuplexContracts,它应该使您知道可以调用客户端的方法。 WCF中也有事件处理,尽管它比普通的.NET事件需要更多的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM