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