簡體   English   中英

java:通過套接字發送方法

[英]java: Send method through socket

我正在嘗試編寫一個程序,該程序將向多個節點發送函數,這些節點將接收該函數並執行該函數,並(通過序列化)回復結果。 我搜索了一下,但沒有任何幫助。 一種替代方法可能是通過套接字發送.class文件並將其加載到節點上,但是我很感興趣是否有人找到了一種更簡單的方法

編輯:我正在嘗試與此客戶端/服務器的群集。 而且我希望客戶端始終在節點上運行並接受任何類型的工作,而不必重新編譯客戶端節點代碼

解決方案:似乎沒有辦法不發送.class文件。 必須發送它,然后在運行時加載它

Java與某些將代碼作為數據的語言(大多數是解釋性語言)不同。 為了使用Java源代碼執行所需的操作,您必須通過網絡發送源代碼,將其編譯到另一端的類文件,然后加載該類文件。 除了加載類文件之外,沒有其他方法可以將新代碼獲取到正在運行的JVM中。

PS:在您的機器上打開一個端口,您可以在其中接受任意代碼,然后執行客戶端發送給您的任何操作,就像擁有一家珠寶店一樣,每天出去吃午餐時,請保持解鎖狀態並沒有人手。

PPS:您可以在應用程序中嵌入解釋器。 例如,您可以嵌入JRuby,然后客戶端可以向您發送Ruby代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM