开发者

High-level server library for sharing data over network

开发者 https://www.devze.com 2023-02-01 22:40 出处:网络
I\'d like to implement something similar to Etherpad - an online开发者_如何学运维 collaboration program.

I'd like to implement something similar to Etherpad - an online开发者_如何学运维 collaboration program.

Do you know of a library for the server that takes care of incoming connections, manages a user list and distributes structured data between them?

DRb is near to what I want, but as I understand it, but as I understand it, it repeatedly sends the whole object over the network, making it quite slow. It should only send updates.

Ruby would be perfect, but I don't really care.


Operational transformation is the technology you are looking for. However it won't manage your incoming connections and user-list. It takes care of the data and how to perform updates on them. You have a couple of options here:

  1. Implement your own version. Depending on how sophisticated the collaboration will need to be, i.e. will it involve formatting or text-only-editing, it you can follow some of the standard algorithms out there. http://cooffice.ntu.edu.sg/otfaq/.

  2. Etherpad is open source so you can always consult their code base. It would help if you understood a little the "theory" underneath the implementation. Again, refer to the prev link.

  3. You might want to try to contact to the guys at codoxware. They have a pretty sophisticated operational transformation library in a number of programming languages. I haven't been able to get my hands on a copy yet (they seemed to have closed the trial) so I cannot say how good it is. But they've used it to build pretty sophisticated collaboration in Word.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号