如何从主应用程序到客户端应用程序C#进行通信

时间:2016-03-22 08:27:45

标签: c# com pipeline

我到处寻找这个问题的帮助,但这些都是为了与网络客户或网络客户进行沟通。

我想要一个从“服务器”运行的主应用程序和从网络上的桌面运行的客户端应用程序。我希望主应用程序能够在客户端应用程序中调用函数。这些客户端应用程序用于收集信息并发送回主应用程序。什么是最好的方式,以及实现这一目标最有效的“成本”?

我已经阅读了一些关于管道的内容,但不确定是否可以使用它?

谢谢。

3 个答案:

答案 0 :(得分:1)

我会考虑只使用套接字,WCF或msmq(消息队列)。在配置Windows服务时,我经常遇到这样的问题 - 桌面应用程序如何与服务进行通信。我目前在许多情况下使用消息队列进行应用程序间通信,我发现它相对简单有效。对于像这样的工作,它经常被忽视。

答案 1 :(得分:0)

要从服务器应用调用客户端,您可以尝试ASP.NET SignalR。 使用signalR,您可以利用Hub APIs在客户端和服务器之间建立连接。

答案 2 :(得分:0)

这是一个简单的双向通信问题。我已经在这些步骤中使用WCF解决了这个问题:

  • 使用一个公开的WCF服务器端点创建一个主应用程序服务器,而不是接受一些有用的信息“client ip”,“client web address”

  • 创建客户端应用程序而不是托管WCF服务器端点,而不是接受服务器反馈通信

  • 因此,当客户端应用程序启动时,它必须调用主应用程序服务器发送客户端端点地址

  • 主应用程序服务器存储客户端信息,以备将来使用

  • 当主应用服务器需要向客户端发送内容时,查找存储信息中的信息并尝试直接呼叫客户端。

描述比写c#

更复杂

(你可以用websockets做所有og theese,但我从未尝试过)