【发布时间】:2010-12-30 00:54:35
【问题描述】:
我想实现类似于 Etherpad 的东西 - 一个在线协作程序。
您知道用于处理传入连接、管理用户列表并在它们之间分配结构化数据的服务器库吗?
DRb 接近我想要的,但据我了解,但据我了解,它通过网络反复发送整个对象,使其非常慢。它应该只发送更新。
Ruby 会很完美,但我不在乎。
【问题讨论】:
我想实现类似于 Etherpad 的东西 - 一个在线协作程序。
您知道用于处理传入连接、管理用户列表并在它们之间分配结构化数据的服务器库吗?
DRb 接近我想要的,但据我了解,但据我了解,它通过网络反复发送整个对象,使其非常慢。它应该只发送更新。
Ruby 会很完美,但我不在乎。
【问题讨论】:
运营转型是您正在寻找的技术。但是,它不会管理您的传入连接和用户列表。它负责处理数据以及如何对它们执行更新。你有几个选择:
实现您自己的版本。根据协作需要的复杂程度,即它是否涉及格式化或纯文本编辑,您可以遵循一些标准算法。 http://cooffice.ntu.edu.sg/otfaq/.
Etherpad 是开源的,因此您可以随时查阅他们的代码库。如果您对实现背后的“理论”有所了解,将会有所帮助。再次,请参阅上一个链接。
您可能想尝试与 codoxware 的人员联系。他们有一个非常复杂的操作转换库,支持多种编程语言。我还没有拿到副本(他们似乎已经结束了审判)所以我不能说它有多好。但他们已经使用它在 Word 中构建了非常复杂的协作。
【讨论】: