【发布时间】:2012-03-17 06:19:10
【问题描述】:
我需要在 Java 中实现一个编组类。基本上我理解编组用于格式化数据,以便它可以通过套接字网络发送,然后在服务器端解组。如有错误请指正谢谢。
那么这2个方法就完成了。
public void marshallObject (Object obj, ObjectOutputStream stream);
public Object unmarshallObject (ObjectInputStream stream);
public void marshallObject(Object obj, ObjectOutputStream stream) {
try {
stream.writeObject(obj);
stream.close();
} catch (IOException e) {
System.out.println("Exception:" + e);
}
}
public Object unmarshallObject(ObjectInputStream stream) {
Object object = null;
try {
object = stream.readObject();
} catch (Exception e) {
System.out.println("Exception:" + e); }
return obj;
}
我正在使用 Java 对象序列化机制。但是,在这种简单的方法中使用这些是行不通的,因为 Java 序列化不会正确序列化远程引用。我的讲师提到我需要传递一个包含对对象的远程引用的存根。在这种情况下,远程对象将是服务器。您通过引用而不是通过副本传递远程对象的真正测试是程序需要能够传递服务器并且仍然引用同一个对象。我对它很模糊,任何人都可以向我解释并指导我怎么做?
【问题讨论】:
标签: java marshalling rmi