代码之家  ›  专栏  ›  技术社区  ›  tybro0103

从外部应用程序在C中引发事件?

  •  6
  • tybro0103  · 技术社区  · 14 年前

    有没有办法从外部应用程序引发C中的事件?尤其是鲁比?我需要通过rails应用程序在C中发生一些事情。

    4 回复  |  直到 14 年前
        1
  •  6
  •   Community Mr_and_Mrs_D    7 年前

    所以这个问题的一般答案是“是的,这是可能的”——但是由于您实际上是在尝试发送进程间通知,因此您需要使用某种 IPC mechanism

    NET有一个用于执行IPC的丰富API,从命名管道到DCOM,再到像TCP/IP这样的低级网络协议。您使用哪种方法取决于这些进程需要通信的环境(在一台机器上、跨内联网上的机器、通过因特网等)。这也将取决于你交换的信息的种类以及你愿意付出多少努力。对于.NET3.5应用程序,您通常可以使用 WCF as the unifying framework .

    显然,所有这些都取决于您修改.NET应用程序的实现(读取源代码)的能力,您正试图在其中引发事件。如果您不能做到这一点,并且代码中没有现有的IPC机制,那么您可能会陷入困境。

    你推荐什么,优先考虑方便和时间。

    我会考虑使用 Named Pipes . 命名管道最初是一个Unix概念,但在Windows上也可以使用。它们有一个简单的编程接口(类似于处理文件),在单机场景中不需要使用太多。

    在.NET方面,以下是一些相关链接,以了解更多信息:

        2
  •  1
  •   Martin Törnwall    14 年前

    一个显而易见的解决方案是使用各种各样的网络信息。一个短命的TCP/IP连接,或者——特别是如果两个应用程序在同一台主机上——一个简单的UDP数据包。

    C应用程序将接受连接(如果是TCP),从套接字读取事件并最终处理它们。

        3
  •  0
  •   Scott Arrington    14 年前
        4
  •  0
  •   tvanfosson    14 年前