如何在c#中创建应用程序到应用程序的通信?

如何在c#中创建应用程序到应用程序的通信?,c#,.net,C#,.net,我有这个问题,因为我可以将数据从程序(例如program1)发送到program2。 我知道可以使用事件,但问题是如何使用 对不起,我没有密码 有人能举个例子或链接来帮助理解事件和观察者吗 让我快速地把你介绍给我。这可能正是你所需要的,也可能不是,但它应该为你指明正确的方向 链接的文档列出了以下选项: 剪贴板 COM 数据副本 DDE 文件映射 邮箱 管道 RPC Windows套接字 有很多关于如何实现这些选项的文章/指南,所以你真正需要做的就是谷歌 显然还有许多其他选项,例如通过HTTP

我有这个问题,因为我可以将数据从程序(例如program1)发送到program2。 我知道可以使用事件,但问题是如何使用

对不起,我没有密码


有人能举个例子或链接来帮助理解事件和观察者吗

让我快速地把你介绍给我。这可能正是你所需要的,也可能不是,但它应该为你指明正确的方向

链接的文档列出了以下选项:

  • 剪贴板
  • COM
  • 数据副本
  • DDE
  • 文件映射
  • 邮箱
  • 管道
  • RPC
  • Windows套接字
有很多关于如何实现这些选项的文章/指南,所以你真正需要做的就是谷歌


显然还有许多其他选项,例如通过HTTP或任何其他在.NET中已经实现的易于设置和使用的通信协议(这大概就是您正在使用的)发送数据。

事件和观察者与进程间通信无关。进程间通信是由操作系统本身提供的,有很多方法可以实现,这仅仅是因为有许多不同的用例。剪贴板本身就是一种IPC机制。另一种方法是通过映射文件共享内存。COM允许一个应用程序控制另一个应用程序。基于网络的技术从套接字一直到web服务。还有一些机制,甚至在HTTP之上,比如signer,grpc,你到底想做什么?实际用例是什么,您希望发送什么类型的数据,发送频率是多少?HTTP非常冗长,而套接字可以发送小数据包。这些应用程序有可能在不同的机器上运行吗?安全要求是什么?出于明显的安全原因,操作系统不允许任何应用程序打开端口并进行监听,例如。。。。到远程恶意软件控制器,或者您可以将一个应用程序的输出重定向到另一个应用程序?这也是一种沟通机制,尽管它是一种-way@PanagiotisKanavos程序1等待发送程序2的输入(激活的startWorkCommand+输入参数),并在程序1接收输入时开始工作。在n个进程中的第一个进程结束后,将创建的对象发送到Program2并继续工作。当到达第n个进程时,发送所有工作已完成,Program2使用此对象创建json。这就是我的意思。对不起,我的英语说得不多。您可以使用Process.Start启动另一个程序,将数据写入其标准输入流,并从其标准输出流读取任何结果。我相信你也可以通过Powershell脚本来实现这一点。或者你可能需要一个更复杂的机制——你所描述的太模糊了