从php远程调用Java

4
我有一个Java程序,它在几台不同的计算机上运行,并且我想要能够远程访问它们。我不需要做任何疯狂的事情,只是一些非常基本的输入输出(获取和设置类型的内容)。我可以编写一个客户端应用程序,并将每个程序设置为带有RMI的服务器来进行操作,但我并不总是在同一台计算机上,也不想随身携带.java文件。
我更喜欢编写一个简单的PHP网页,我可以从任何地方访问,并有一些非常基本的按钮,可以向不同的应用程序发送命令并接收一些输出。
问题是,我可能无法在托管我的网页的服务器上加载除了PHP以外的任何东西。
有人有什么想法吗?我已经试过谷歌搜索,并找到了一些听起来像我需要的东西,但是我越看它们,它们似乎并不是我想要的。

你将Java的东西托管在哪里? - prodigitalson
这是我编写的一个基本数字标牌程序,目前在我们的几个位置使用。它运行良好,我可以随时远程桌面连接并更改播放列表/传输任何我对程序所做的更新。问题是,在它们播放期间白天我无法远程桌面连接,因此我希望能够访问它们并执行基本操作,例如强制播放器重新启动,或者传递一个新的视频名称进行播放,并将其添加到列表中。虽然它正在运行,我可以使用命令行命令来完成此操作,但我希望能够从任何地方执行此操作。 - Kyle Wood
1
这个问题与Java RMI有什么关系?考虑到你不想使用它? - user207421
有成千上万种不同的方法来解决这个问题。首先,您需要确定一些更具体的限制,以使两个应用程序能够相互通信,然后从那里开始。 - Andrew Sledge
2个回答

1

如果你真的想做到这一点,我建议你看看Java Web框架(我自己使用Play!)来创建一个RESTful Web服务,然后从你的PHP代码发送请求,以获取JSON数据。

像Play这样的框架将使得运行REST Web服务非常容易。只需创建一些包装器来调用现有的Java代码,并调用renderJSON来输出结果。

从PHP代码中,你将会使用curl发出请求,然后使用json_decode读取响应,将其转换为方便的PHP变量。

这也有一个优点,即任何一端都可以更改而不会被另一端注意到,只要保持JSON数据格式不变即可。


-1

我考虑使用计时器并检查FTP服务器上的文本文件以获取命令,但我希望有一种更即时的发送命令的方式。我希望使用PHP可以给它一个IP和端口,并说发送这个命令,但它需要被Java程序理解。现在重要的不是让它从Java程序接收回来。每当播放列表发生更改时,我可以让它将其播放列表发布到FTP服务器上的文本文件中。 - Kyle Wood
@kyle:嗯,你可以实现一个接收托管服务器的HTTP POST请求并确定要发出的CLI命令的程序,并发出该命令。然后,您只需使用php中的curl函数发送POST请求即可。 - prodigitalson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接