One of two things is happening: 1) On your sender side, you're changing/setting the coordinates in a different object each time, but you're always sending the original. 2) Because you're sending the same object, the ObjectOutputStream does not resend it, just an index or other indicator of which already-sent object is being sent, even though its innards have changed, and the ...