是否有方便的方式通過網絡(而不僅僅是實例數據)傳輸對象,包括其代碼(類)?通過網絡傳輸java.lang.reflect.Proxy
不要問我爲什麼要這樣做。這是一個任務。我問了好幾次,如果這真的是他們的意思,並且沒有改變他們的答案,我想他們真的希望我們通過網絡傳輸代碼(而不僅僅是現場數據)。說實話,我不知道爲什麼我們在這項任務中需要一個代理服務器,只要寫一個簡單的課程就可以實現IMO。該任務說我們應該在服務器上實例化代理並將其傳輸給客戶端(是的,他們談論java.lang.reflect.Proxy,他們命名這個類)。由於沒有用於代理的類文件,我無法部署該文件。我想我必須以某種方式讀出生成的代理的字節碼,將其傳輸到客戶端,然後加載它。這完全沒有意義,但這似乎是他們希望我們做的。我不明白爲什麼。
你確定他們不希望你遠程調用代碼嗎?這是對客戶端上的代理的調用,實際上是執行服務器上的代碼並將結果返回給客戶端? – Yishai 2010-05-06 21:39:49
Yishai在這裏可能是正確的 - 代理對象通常用於允許通過線路傳輸請求。我會建議閱讀位於這裏的java.lang.reflect.Proxy java文檔:http://java.sun.com/javase/6/docs/api/java/lang/reflect/Proxy.html – aperkins 2010-05-06 21:41:18
我知道什麼是代理類很適合。另一個演講的練習是寫一個RMI,就像中間件,我真的很喜歡。我寫了自己的序列化框架,網絡傳輸,非常基本的命名,很多使用註釋和反射,以便生成很好的代理等。 在本練習中,主要重點是編寫一個透明覆制的系統,我們必須隱藏事實服務器使用代理進行復制。這個任務確實說明我們必須在服務器上實例化代理,然後代理將被客戶端使用。 – panzi 2010-05-07 02:47:11