2012-12-02 46 views
0

可能重複:
How to write a self-updating program in Java?在java中創建可更新的程序?

所以,我對你們的問題。我正在製作一款遊戲,而且我希望它可以更新,例如「我的世界」或「激戰2」或任何其他好遊戲。我的問題是如何。我一直在做一堆看,我真的找不到任何好主意。我已經有了服務器和客戶端的連接,所以我需要的是新文件的傳輸,然後替換舊的文件。我使用socket方法,因爲我認爲這是唯一的方法......但我不確定。我有什麼:兩個程序中的一個類叫做updateClass。兩者完全相同。然後我讓服務器把對象發送給客戶端,讓客戶端讀取對象中嵌入的msg,就像一個簡單的測試。它說它無法發送該對象。我在接收結束時播放了它,所以我不確定。我的問題是,我在正確的軌道上?任何想法或建議?我不是在尋找特定的代碼,但如果你有一些我歡迎它,我喜歡挑戰。另外,我將如何讓我的程序更新其類文件?似乎它不應該能夠在跑步時,這是一個小問題...所以讓我知道你們的想法!提前致謝!

+0

發佈[SSCCE](http://sscce.org),更快地獲得更好的幫助。 – Mordechai

+0

_also,我將如何得到我的程序... _這應該作爲一個單獨的問題。 – Mordechai

+0

您可能不會正確創建連接,請發佈您的'UpdateClass'類。 – Mordechai

回答

1

你應該把你的類的二進制定義(.class文件的內容)並使用ClassLoader.defineClass(String name,byte [] b,int off,int len)將其加載到VM中。類的序列化版本不是類的java字節碼。請注意,一旦加載後你不能卸載類,所以你不能在同一個類加載器中更新它們。

1

..am我在正確的軌道上?

爲J2SE應用程序提供更新更加容易。將使用Java Web Start進行部署。

自動更新是JWS開箱即用的衆多優勢之一。更新的JRE甚至允許應用程序。本身與進行更新的API進行交互。

相關問題