2011-10-09 55 views
0

我有一個我寫的小應用程序,它可以通過可以通過網絡發送json的python服務器與另一個應用程序通信。使用json同步兩個對象?

我真正想做的是能夠讓對象通過json彼此「同步」。現在我已經看過了gson庫,它似乎非常適合將對象序列化爲json。然而,它似乎不是(或者我可能不知道),如果我只是想要兩個對象相互更新,非常有用。

例如:

GSON在

Gson g = new Gson(); 
Object o = new Object(); 
String serialization = g.toJson(o, o.class); 

是偉大的。然而,讓我們說,我有對象o在兩個單獨的客戶端。如果在客戶端1,他們調用 o.doSomeMethod(value);

我希望由此產生的變化更新到客戶端2的計算機上的對象o。現在,我可以做一些幻想,並用新的序列化版本替換對象,但這似乎不是一種更新兩個對象的非常有效的方法。

感謝您提前提供任何幫助!

回答

0

如果我是你,我會在你的o.doSomeMethod中做的事情包括向網絡發出通知,通知客戶端2有關更改。在client2的一面,有一個方法監聽潛在的更新。當更新進入時,它會更改客戶端2上的對象。您需要做的是實施某種協議來發送此同步更新。例如,假設您有一個名爲att1的屬性,並且client1對對象o上的該屬性進行更改。讓我們也說對象o有某種唯一的標識符(id)。當你調用doSomeMethod時,它會在網絡上發出一條消息,說:「這個對象已經改變了att1的值,這是新的值。」那有意義嗎?