ObjectOutputStream を使用して、クライアントとサーバーの間でソケットベースの接続を使用します。
シリアル化および交換されるオブジェクトは、次の構造を持ちます。
public class RichiestaSalvataggioArticolo implements Serializable {
private ArticoloDati articolo;
public RichiestaSalvataggioArticolo(ArticoloDati articolo) {
this.articolo = articolo;
}
@Override
public void ricevi(GestoreRichieste gestore) throws Exception {
gestore.interpreta(this);
}
public ArticoloDati getArticolo() {
return articolo;
}
}
問題は、カプセル化されたコンテンツが非常に似ている C/S 間でメッセージを交換しようとすると (ArticoloDati は 10 のうち 2 つのフィールドのみが異なる)、クライアントは ArticoloDati を送信しますが、サーバーは前のものを受信します。
ObjectOutputStream は、呼び出しの間にある種のキャッシュまたはメモリを実装していますか?これは、私の 2 つのオブジェクトが非常に似ているために異なることを認識できませんか?