我使用 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 个对象是不同的,因为它们非常相似?