将事件从 C# 应用程序传递到 Java 应用程序
我有一个 Java 应用程序,它在客户端计算机上启动一个小型 C# 应用程序。
我需要一个简单的解决方案来在 C# 和 Java 应用程序之间传递事件。
为了处理相反的方向(Java->C#),我使用了 FileSystemWatcher,它监听文件夹更改事件。 Java 应用程序将一个空文件写入共享文件夹,C# 应用程序根据(空)文件名处理这些事件(然后将其从“队列”中删除)。 找不到与 FileSystemWatcher 等效的 Java 来解决将事件从 C# 传递到 Java 的问题。
有什么创意吗? (提醒:这只是一个 Java 应用程序,所以我没有 Apache 服务器或类似的东西)。
谢谢
I have a Java application that launches a small C# application on the client machine.
I need a simple solution for passing events between the C# and the Java applications.
To handle the opposite direction (Java->C#) I was using FileSystemWatcher, which listens to folder change events.
The Java application writes an empty file to a shared folder, and the C# app handles these events according to the (empty) file name (and then removes it from the "queue").
Could not find a Java equivalent to FileSystemWatcher to solve the problem of passing events from C# to Java.
Any creative idea ? (reminder: this is just a Java application so I have no Apache server or something like that).
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
2010 年写的一篇不错的简单文章
使用命名Java 和 .Net 进程之间通信的管道
A nice simple writeup written in 2010
Use Named Pipes to Communicate Between Java and .Net Processes
http://jni4net.sourceforge.net/
这可能是您的一个选择。
的重复
这似乎是.NET 和 Java 客户端应用程序之间的 IPC
http://jni4net.sourceforge.net/
That's probably an option for you.
This seems like a duplicate of
IPC between .NET and Java client applications
我会使用像 ActiveMQ 这样的简单 JMS 服务器来来回传递消息。
I would use a simple JMS server like ActiveMQ to pass messages back and forth.
基本上你需要进程间通信。有很多方法。
http://www.ikvm.net/
ETC
basically you need inter process communication. There are many way for it.
http://www.ikvm.net/
e.t.c.
有很多可能的方法,但它们通常分为两类:
java<->c# 互操作(如 http://jni4net. sourceforge.net/)
或者
某种形式的标准化通信,如 Web 服务(它们不需要“服务器”即可工作),例如 C# 中的 WCF 和 Java 端的 Metro。
顺便说一句:您确实不应该使用文件系统来传递事件。
There are many possible ways but they generally fall into two categories:
java<->c# interop (like http://jni4net.sourceforge.net/)
or
some form of standardized communication like webservices (they don't require a "server" to work) such as WCF in C# and Metro on the java side.
BTW: You really shouldn't be using the file system to pass events.