是否有方便的方式通过网络(而不仅仅是实例数据)传输对象,包括其代码(类)?通过网络传输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