WCF与WCF双工与套接字

时间:2011-03-11 08:40:04

标签: c# .net wcf networking duplex

我之前在学位上发布了这个,但经过几天的阅读后,我对WCF有了更好的理解,并希望在开始研究之前得到一些反馈。

我基本上需要开发一个服务器/客户端系统。 “服务器”应用程序(c#网络控制台应用程序)将在具有MySQL数据库,所有软件安装包以及我们需要本地化的任何其他内容的计算机上运行。 “客户端”应用程序(c#net console app)将在我们的其余计算机上运行,​​并将保持与服务器软件的直接连接。使用Web前端,我们的管理员将能够将软件包安装到客户端,创建新服务等。

由于我们拥有所有机器,并且无论如何都必须配置它们,因此Server Push不是问题。我们不必担心防火墙或任何类型的NAT设置,因为我们可以进入并打开它运行所需的端口。

最初让我对WCF感到困惑的是我将“WCF服务”与服务器相关联。但是,由于大多数操作实际上都是在“WCF服务”上运行,这是我的逻辑。

1)使“客户端”应用程序实际上成为“WCF服务”,以便公开的功能实际上在适当的机器上运行。

2)让“服务器”应用程序实际上是“WCF客户端”,并从此处发出所有指令/命令,并使用返回值来更新数据库/等。

这是正确的方法吗?或者我应该研究WCF Duplex(乍看之下看起来非常混乱)或者只是从原始套接字开始?

2 个答案:

答案 0 :(得分:1)

从我正在努力做的事情来看,你是对的。那就是客户端机器应该在它们上面运行TCP / IP“服务器”,而中心服务器机器将具有Tcp / IP“客户端”。

这样,TCP / IP客户端(服务器计算机上运行的应用程序)就可以启动对每台客户端计算机的调用。

请记住,单个应用程序既可以是tcp / ip客户端,也可以是服务器。因此,在服务器计算机上运行的应用程序又可以是管理员使用浏览器执行操作的tcp / ip服务器。这实际上意味着服务是HTTP服务。

答案 1 :(得分:0)

所以,它不是客户端/服务器的东西。它是分布式计算的中心辐射安排。我认为,WCF可以很好地使用。您有多个服务器和一个协调器(所有这些服务器的客户端),可以从各种服务器完成工作并更新数据库。

所以WCF非常适合你。 WCF的好处是易于配置和处理通信部分。你不必为插座的管理付出太多的痛苦。