私は自分のコードで非常に奇妙な状況を抱えていますが、それは理解できません。オブジェクトを送信しています。たとえば、ソケットを介してOを送信します。次に、オブジェクトの変数の値を変更して、再度送信しますが、2回目に印刷しますクライアント側では、最初のオブジェクトと同じ値を取得しています。
クライアントコード:
while(true){
try{
order=(Order)ois.readObject();
System.out.println(order);
}
サーバーコード:
public void sendOrder(Order o){
try {
out.writeObject(o);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
主な方法:
Server_Socket ss=new Server_Socket();
ss.sendOrder(o);
o.add(r2);
ss.sendOrder(o);
送信する前にサーバー側で値が確実に変化していますが、クライアント側で r2 がオブジェクトに追加されたことが表示されない理由がわかりません。