我需要在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序列化不会正确地序列化远程引用。我的讲师提到我需要将包含远程引用的存根传递给对象。在这种情况下,远程对象将是服务器。通过引用而不是通过复制传递远程对象的真实测试是该程序需要能够绕过服务器并仍然指向同一个对象。我对它很模糊,任何人都可以向我解释并指导我如何去做?