0

ソケットを使用してJavaネットワークをプログラミングし、Simpleオブジェクトを使用してリモートプログラム間でデータを交換しています。

現在のケースでは、ObjectInputStream次を使用して構築されています。

new ObjectInputStream(Socket.getInputStream())

したがって、writeObjectメソッドを使用して、いくつかの文字列フィールドを含むオブジェクトを記述しています。

ただし、受信側は呼び出し時readObjectに常に同じオブジェクトを返します。

これを確認するために、文字列フィールドの 1 つを現在の時刻を格納するように設定しました。オブジェクトを書いている間、オブジェクトごとに常に異なる時間です。ただし、受信したオブジェクトはすべて、文字列フィールドに同じ時間を表示します。

明確に言えば、各呼び出しの後に返されるすべてのオブジェクトはObjectInputStream.ReadObject、他のオブジェクトの正確なクローンです。

なぜこうなった?

4

1 に答える 1