2011-05-20 73 views
2

是否存在一個C庫,用於對兩個不同節點上的數據結構進行序列化和/或同步。如果同步不與序列化交織在一起,這將是理想的。總而言之,我想要的是以透明的方式分配數據結構(樹,結構等)的同步。序列化並通過網絡同步數據結構C

最接近我回答的是Client-server synchronization pattern/algorithm?,但沒有提供鏈接。

+0

這是否相關? [Maemo | GObject與DBUS](http://maemo.org/maemo_training_material/maemo4.x/html/maemo_Platform_Development_Chinook/APPENDIX_D_Source_code_for_the_GLibDBus_synchronous_example.html) – qwrty 2011-05-20 10:33:20

+0

更新:libopensync似乎很有前途(可以同步任意數據),AFAIK如果插件不是一個服務器類型(dosent直接讀取套接字..編組傳輸層由庫處理)其他AFAIK我們必須提供它(您可以使用AMQP,beanstalkd,zeromq等)以及google協議緩衝區等[libopensync]( http://www.opensync.org/) – qwrty 2011-08-02 10:21:09

回答

0

據我所知,C/C++沒有預製的數據同步庫。

您可以使用MessagePack,併爲您的結構添加last_updated時間戳字段。然後,您可以使用MessagePack比較時間戳並在節點之間傳輸數據。

MessagePack甚至在http://wiki.msgpack.org/pages/viewpage.action?pageId=1081387提供了一個有用的快速啓動教程。

+0

Uodate:查看我的評論以獲取可能的解決方案 – qwrty 2011-08-11 07:31:16