Имеет два объекта A , B одного и того же класса (например, HashMaps).
На разных компьютерах, подключенных к интернету
Один ( A ) является источником, а другой ( B ) является просто обновленной копией ...
Существует ли стандартный / рекомендуемый способ держать их «подключенными» или «обновленными»?
Пример * * тысяча двадцать-один
Я использую TCP-соединение и writeObject
ObjectOutputStream bufferObj = новый ObjectOutputStream (out);
bufferObj.writeObject (А)
и на стороне копирования что-то вроде этого
ObjectInputStream bufferObj = new ObjectInputStream (in);
Объект B = bufferObj.readObject ();
Но проблема в том, что весь объект отправляется при каждой синхронизации
(например, периодически или каждый раз, когда происходит изменение)
Мне нужен способ отправки только различий (особенно полезно для коллекций Java) , но знать разницу не просто, по крайней мере
Я бы хотел что-то подобное (слишком простая / оптимистичная схема)
На сервере источника
ObjectA.serverUpdatesWarehouseAt (порт);
У клиента копия
ObjectTemp.updateItRemotelyFrom (IP, порт);
ObjectB.merge (ObjectTemp); // обновляем различия добавляя / удаляя по мере необходимости
Что-нибудь подобное уже сделано? вот и я, стараясь не изобретать велосипед
спасибо за чтение