我正在设计一个客户端服务器架构,它是用实现的。在其中一个用例中,服务器需要请求客户机的状态,这意味着它需要调用客户端上的SendStatus()方法并请求它的状态。我只是想知道这个用例是否可以使用WCF实现,而不需要在客户端创建一个独立的服务。我试图避免套接字,因为客户端是后台服务,基本上总是连接到服务器。我理解WCF最终使用套接字进行通信,但我特别尝试使用WCF,因为这更像是概念的证明。
我想到的一个解决办法是,客户机可以在服务器上调用方法,并每5秒左右发送一次它的状态。但话又说回来,这似乎不是一个好办法。任何帮助都将不胜感激。
发布于 2013-04-11 20:38:22
在WCF的世界中,您或多或少有两种选择。
( A) A Duplex service with Dual Http Binding
( B)一个不返回值的投票方案--这基本上就是你所描述的。正如您正确地注意到的,天真的实现并不是很好,但是有一些优化。由于您不需要从SendClientStatus返回的任何内容(对吗?),您可以通过只在有更新时发送更新来优化通信--例如,只要客户端的状态保持不变,就不会向服务器发送任何内容。根据客户端状态更改的频率,这可以大大减少通信量。双工服务提供了一些您想要避免的额外配置,除非您真的需要它们。
https://stackoverflow.com/questions/15958389
复制相似问题