2011-09-26 87 views
0

我想在另一台Windows机器上的Java服务器上运行的Java程序在Windows机器上执行程序,并从该可执行程序返回一些内容。如何从java服务器远程执行一个windows可执行文件?

虽然我正在研究不同的方法来做到这一点,但我似乎没有找到任何流行的方法。

什么是实现这种分布式呼叫的快速但标准的方式?

(RPC,CORBA,接??)

感谢

+0

它们都是正确的,它们都很受欢迎,它们各有各的优点。 –

回答

0

如果两台机器在一个可信任的LAN环境中运行,那么插座应该做的伎俩。 Java内置了非常方便的套接字类,因此实现起来非常简单。

在执行器上,您必须创建一个ServerSocket。然后,在一个循环中,运行你的程序,将数据写入套接字的输出流并关闭它。

在连接端,您只需创建一个new Socket,从套接字的输入流中读取数据并关闭它。

如果您想要同时处理多个请求,那么它会稍微简单一点,但如果您知道如何编写线程,那么它仍然非常简单。

+0

远程服务器没有jvm,因此我无法运行创建ServerSocket等的Java程序。 – Jaizen

+0

用C或C#编写服务器(如果安装了.NET)并不困难。如果你被允许在那里安装你的小服务器,那你为什么不能安装一个JVM呢? – mpartel

0

好吧,如果你不能在另一台机器上运行java我会在本地调用一个.NET应用程序来执行RPC到另一台机器上的另一个.NET应用程序。在这种情况下,您可以使用.NET Remoting或WCF(或者如果您被迫使用DCOM)。

作为另一种选择,您可以坚持Java和.NET端的套接字。 (我相信.NET也有Socket实现)

相关问题