如何在Java中调用远程程序?

如何在Java中调用远程程序?,java,Java,假设我们知道exe所在的绝对路径,是否可以在远程计算机上调用exe 我已经编写了一个客户机和一个服务器程序,并且能够在两者都运行时按预期完成这两项工作。但现在,我要做的就是在服务器未运行时从客户端调用服务器程序。似乎违背了服务器-客户机模型的目的,但仍然 如果在不知道远程系统的登录凭据的情况下就可以做到这一点,那就太酷了。例如:“PsExec”等软件需要登录凭据 我知道,这样的功能可能不存在,因为这将意味着严重的安全威胁,但是,我只是想知道是否有某种解决方法。试试技术。。。它基于网格技术,非常高

假设我们知道exe所在的绝对路径,是否可以在远程计算机上调用exe

我已经编写了一个客户机和一个服务器程序,并且能够在两者都运行时按预期完成这两项工作。但现在,我要做的就是在服务器未运行时从客户端调用服务器程序。似乎违背了服务器-客户机模型的目的,但仍然

如果在不知道远程系统的登录凭据的情况下就可以做到这一点,那就太酷了。例如:“PsExec”等软件需要登录凭据

我知道,这样的功能可能不存在,因为这将意味着严重的安全威胁,但是,我只是想知道是否有某种解决方法。

试试技术。。。它基于网格技术,非常高效且易于部署

如果这是可能的,我不知道 远程服务器的登录凭据 系统,然后它会很酷。例:在那里 像“PsExec”这样的软件需要 登录凭据

我明白,这样的功能可能会 不在那里,因为这意味着 严重的安全威胁,但是,我 只是想知道有没有什么 一种变通方法

那些“不方便”的安全规则是有目的的。您只是不希望人们能够在没有适当身份验证和授权的情况下在您的机器上运行任何旧程序。即使你在防火墙后面也不行

为什么?


一句话——病毒!如果您网络上的某些计算机感染了病毒(或类似的恶意软件),则所有运行未经身份验证的远程执行服务的计算机都将面临严重的感染风险。

您可以设置消息传递系统,如远程过程调用、webservice、,或者在服务器上使用简单的tcp套接字来唤醒服务器进程。

执行exe的唯一方法是执行您有权访问的本地应用程序。必须是要在其上执行应用程序的计算机上运行的软件的一部分。从那里,您可以从远程机器上的第二个程序执行远程调用,要求本地程序执行其任务:执行


正如stephen C所说,如果没有您的许可,我可以在您的机器上运行exe,那将是对安全的严重破坏。

我不知道这与这个问题有什么关系。请澄清。网格技术解决了这类问题,让我们远程运行java和其他类型的二进制文件。“如果我们知道exe的绝对路径,是否可以在远程计算机上调用exe?”“暴力破坏安全”-暴力可能会在稍后发生:-)