Так что я пытался настроить сервер-клиент в проекте java с использованием eclipse. Подробности более или менее несущественны, за исключением того, что я пытался передать объект HashMap взад и вперед.сокеты и объекты Hasmap
Я могу сделать именно это, однако, когда сервер отправил первый HashMap (HM1), клиент будет принимать HM1 и действовать соответственно. однако, когда появился другой HashMap, клиент не получил HM2, но вместо HM1, несмотря на неоднократные проверки того, что сервер действительно отправил объект HM2.
Впоследствии я решил проблему, отправив dos.ObjectOutputStream (HashMapObject.clone()) вместо просто dos.ObjectOutputStream (HashMapObject), и теперь клиент получает нужные данные.
помните, что я тестировал только подключение к localhost для отладки.
теперь мой вопрос, я не понимаю, почему .clone() сделал разницу, может кто-нибудь объяснить мне, почему?
Ваше сообщение о проблеме несовместимо. HM1, HM2 и ** HashMapObject ** !? – ultrajohn
Я использовал HM1 и HM2 как способ показать, что было отправлено и что было получено. Я использовал HashMapObject как общий термин, когда я описывал, как я отправлял объект, поскольку это не важно при описании того, что было отправлено при описании того, как я использовал метод ObjectOutputStream. – icomeinpieces