在两个应用程序之间发送消息

Posted

技术标签:

【中文标题】在两个应用程序之间发送消息【英文标题】:Send Messages Between Two Applications 【发布时间】:2011-10-26 11:29:17 【问题描述】:

我需要在应用程序(许多客户端和一台服务器)之间发送字符串消息。

当我尝试使用 PostMessage/WndProc 时,我的消息被分成了奇怪的部分(我使用了这个解决方案:http://www.codeproject.com/KB/vb/Send_string_by_message.aspx)。所以这是不行的。

第二次我尝试使用 Pipes,但无法使其与多个客户端一起使用。

第三次我尝试使用 TCPIP,但也无法使用。

我的问题:

实现这一目标的最佳(最简单)解决方案是什么?

【问题讨论】:

避免发明那个***,WCF 就是为此而生的。 【参考方案1】:

客户端/服务器应用程序通常可以很好地与 TCP/IP 配合使用。

但作为 TCP/IP 的替代方案,我还建议使用 .NET Remoting。

那里有很多例子。

示例: http://www.codeproject.com/KB/vb/Remoting_HelloWorld.aspx

【讨论】:

【参考方案2】:

最好的方法是 WCF

它支持这么多场景。我在许多不同的情况下都使用过它。

同一台计算机不同的计算机客户端服务器场景或网络应用程序上的两个应用程序,您可以轻松实现它们。

我使用NetNamedPipeBindin,用于连接同一台机器上的2个应用程序

MSDN 有很多关于它的资源:@​​987654321@

【讨论】:

以上是关于在两个应用程序之间发送消息的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中使用管道在进程之间进行通信

套接字阻止在 Java 服务器和 Python 客户端之间发送消息

TCP的三次握手

消息服务-JMS

两个应用之间交互怎样才算做健壮

Java消息服务-JMS