背景:我想创建一个类似记事本的应用程序,多人可以在其中编辑一个文档/记事本。我已经创建了图形界面,现在想开始研究其中的多用户协作部分。
问题:我如何从一个客户的文本框中获取文本以转到另一个客户的文本框。我会使用套接字吗?我会将要与所有客户共享的文本存储在哪里?为了创建一个有效的实时协作文本框,我必须使用/做什么。什么是我可以研究的良好起点?
示例:Etherpad.com/Titanpad.com/Piratepad.com 或 Docs.Google.com(除非我想创建桌面应用程序,而不是网站)
解决答案中出现的一些问题:
用户如何选择他们想要编辑的文档:是
用户如何创建新文档:通过选择主菜单中的新建文件选项
如果许多用户尝试同时编辑同一个文档会怎样? : 他们都可以编辑文档。
用户是否需要在更改生效前点击“保存”按钮? : 不,应该同时反射(reflect)变化
用户需要登录吗? : 是的
任何人都可以编辑任何文档,或者是否有访问限制? : 有限制,即。文档的创建者可以阻止用户编辑文档..
最佳答案
寻找解决方案的第一步是足够详细地定义所需的最终结果。与其只考虑多用户协作部分,不如尝试描述整个用户体验:
- 用户如何选择他们想要编辑的文档?
- 用户如何创建新文档?
- 如果许多用户试图同时编辑同一个文档会怎样?
- 用户是否需要点击“保存”按钮才能反射(reflect)更改?
- 用户是否需要登录?
- 任何人都可以编辑任何文档吗?是否有访问限制?
通过思考这些设计决策,您最终会得出一些具体的实现问题,然后您可以尝试回答这些问题。
关于java - 用 Java 创建实时协作记事本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10561211/