2011-06-29 111 views
4

我有一個Java程序,運行在兩臺不同的計算機上,我希望能夠遠程訪問它們。我不需要做任何瘋狂的事情,只需要一些非常基本的輸入輸出(get和set類型的東西)。我可以編寫一個客戶端類型的應用程序,並使用RMI將每個程序設置爲一臺服務器,並且這樣做,但我不會總是在同一臺計算機上,也不希望隨身攜帶.java文件。遠程調用Java從PHP

我寧願寫一個簡單的php網頁,我可以從任何地方訪問,並有一些非常基本的按鈕,可以發送命令到不同的應用程序並接收一些輸出。

問題是,它可能不可能讓我的主機加載任何其他的PHP到服務器上,我將託管我的網頁。

有沒有人有任何想法?我嘗試過使用Google搜索,並發現了一些類似於我需要的東西,但是我越看越它們,他們似乎根本就不是我想要的東西。

+0

你在哪裏舉辦java的東西? – prodigitalson

+0

它是我編寫的基本數字標牌程序,並在我們的幾個位置使用。它運行良好,我可以隨時遠程桌面,並進行更改播放列表/傳輸任何更新,我做的程序。問題是我不能在一天中的遠程桌面進行遊戲,因此我希望能夠訪問它們並執行基本的操作,例如強制播放器重新開始,或者傳遞一個新的視頻名稱來播放它,並讓它播放添加到列表中。我可以在運行時使用命令行命令執行此操作,但我希望能夠從任何位置執行此操作。 –

+1

這個問題與Java RMI有什麼關係?因爲你不想使用它? – EJP

回答

-1

基於您描述設置的方式,您可能會遇到嘗試從PHP主機訪問Java應用程序的路由問題。我建議你試試其他的東西:如果有任何更新,讓你的Java應用程序經常檢查你的PHP應用程序。你可以簡單地使用Java URL連接和一個計時器:

http://download.oracle.com/javase/6/docs/api/java/util/Timer.html

http://download.oracle.com/javase/6/docs/api/java/net/URL.html

+0

我曾考慮過使用定時器並讓它使用命令檢查ftp服務器以查找文本文件,但我希望能夠更快速地發送命令。我希望用PHP我可以給它一個IP和端口,並說發送這個命令,但它需要由Java程序可以理解。現在從Java程序收到回來並不重要。當播放列表發生變化時,我可以通過它的播放列表將文本文件發佈到FTP服務器。 –

+0

@kyle:你可以實現從託管服務器收到http POST請求的東西,然後確定發佈什麼CLI命令併發布它。然後,你將不得不使用PHP中的curl函數發送post請求。 – prodigitalson

1

如果你真的想這樣做的權利,我建議在看一個Java Web框架(我用自己Play!)創建一個RESTful Web服務,然後從您的PHP代碼發送將獲取JSON數據的請求。

像Play這樣的框架將使得運行REST Web服務變得非常簡單。只需創建一些調用現有java代碼的包裝並調用renderJSON即可輸出結果。

從PHP代碼你會issue the request using curl,然後閱讀迴應使用json_decode這將變成一個方便的PHP變量。

這還有一個優點,即只要json數據格式保持不變,就可以在沒有其他人注意的情況下更改任一端。