双向客户端服务器网络通信

时间:2009-01-24 16:08:10

标签: c# wcf networking

我正在寻找使用winforms或WPF在C#中构建客户端服务器应用程序。客户端应用程序必须是本地应用程序,因为它必须与专用硬件进行交互。

我正在寻找的架构是客户端使用TCP / IP连接到服务器端口。然后,客户端将向服务器发出请求,服务器将向客户端发送响应。当用户登录时,客户端将保持与服务器的连接。

我查看了Web服务,据我所知,WCF扩展了Web服务,这意味着服务器无法向客户端发送消息。

我对WCF不正确吗?如果不是,最好的方法是什么?

4 个答案:

答案 0 :(得分:3)

WCF支持duplex messaging,它应该可以满足您的需求。

另请参阅:http://msdn.microsoft.com/en-us/library/cc645027(VS.95).aspx

答案 1 :(得分:1)

尝试阅读this article by Juval Lowy,这是对WCF消息传递问题的精彩讨论。他提供了双工的替代方案,这是他的pub-sub框架。我将不得不建议你也购买他的WCF书。他是我在任何主题上遇到的最好的技术作家之一。

答案 2 :(得分:1)

感谢。这正是我想要的。我找到了两个非常有用的解决方案:
http://www.codeproject.com/KB/WCF/WCF_Duplex_UI_Threads.aspx
http://www.thoughtshapes.com/WCF/ExampleThree.htm

答案 3 :(得分:1)

我知道WCF是蜜蜂的膝盖和所有 - 但我可能只是做一个TcpServer和TcpClient对。然后,也许我是唯一一个认为WCF对80%的情况来说过于复杂的人。

然后,如果您有不同的客户端或服务器或其他东西 - 您可能想要查看WCF。但是,对于简单的网络套接字 - 好吧,我们已经在没有WCF的情况下进行了多年的套接字编程,并且已经做得很好。