JavaでMarshallingクラスを実装する必要があります。基本的に私はMarshallingがデータをフォーマットしてソケットネットワークを介して送信し、それをサーバー側でアンマーシャリングできるように使用することを理解しています。もし私が間違っているなら、私を訂正してください。JavaでMarshallingクラスを実装するにはどうすればよいですか?
この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 Object Serializationメカニズムを使用しています。ただし、Javaシリアライゼーションはリモート参照を正しくシリアル化しないため、この単純な方法ではこれらを使用できません。私の講師は、リモートリファレンスを含むスタブをオブジェクトに渡す必要があると述べています。この場合のリモートオブジェクトはサーバーになります。コピーではなく参照によってリモートオブジェクトを渡すという真のテストは、プログラムがサーバーを通過しても同じオブジェクトを参照できる必要があるということです。私はそれでかなりぼやけています、誰も私に説明し、私にどのようにするか教えてください?