0

我需要将信号从 .NET 应用程序传递到 Java 应用程序。不需要数据,信号本身就足够了。

我想到的最简单的方法是使用这样的命名同步对象:

  1. .NET 应用程序创建一个特定的命名同步对象 A。
  2. Java 应用程序创建了一个特定的命名同步对象 A - 名称与 (1) 中的相同。
  3. Java 应用程序有一个线程在等待对象发出信号。
  4. .NET 应用程序向对象发出信号。
  5. Java 应用程序线程唤醒并根据信号接收采取行动。

至少,如果我知道如何在 Java 中创建命名同步对象,我会这样做。

但是看起来Java没有任何东西,我很难相信。这是否意味着只有 Windows 具有命名同步对象?

所以,我的问题是——如何将一个简单的信号(无数据)从非 Java 应用程序传递到 Windows 上的 Java 应用程序?两个进程都在同一台主机上运行。

编辑

动机——我想向我们的无头 Java 进程发出信号,让它尽快优雅地终止自己。

4

3 回答 3

3

您可以在程序之间创建套接字连接,并通过发送和接收特定模式来检测信号

于 2012-12-23T10:24:50.800 回答
0

我又想,我以前用过ICE Framework,你可以从这里下载并学习ICE Framework,ICE Framework是一个跨本地系统或网络进程之间通信的框架。

下载 Ice 框架

于 2012-12-24T04:16:53.997 回答
0

看在上帝的份上,我只想要从 C++/C# 进程到 Java 进程的单个 1 位信号,而且没有简单的方法可以做到这一点。我不敢相信。

算了,我就用文件系统吧。C++/C# 代码将在众所周知的位置创建一个空文件,Java 代码将每秒轮询一次。

菲尼托,故事结束。

于 2012-12-24T11:53:37.610 回答