用Java创建实时协作记事本

Sin*_*ngh 5 java database sockets real-time node.js

背景:我想创建一个记事本相似的应用程序,其中多人可以编辑一个文档/记事本.我已经创建了图形界面,现在想开始研究它的多用户协作部分.

问题:如何从一个客户端的文本框中获取文本以转到另一个客户端的文本框.我会使用套接字吗?我将在哪里存储将与所有客户共享的文本?我必须使用/做什么才能创建一个功能实时的协作文本框.什么是我可以研究的良好起点?

示例:Etherpad.com/Titanpad.com/Piratepad.com或Docs.Google.com(除非我想创建桌面应用程序,而不是网站)

解决答案中出现的一些问题:

用户如何选择他们想要编辑的文档:是的

用户如何创建新文档:通过选择主菜单中的"新建文件"选项

如果许多用户尝试一次编辑同一文档会发生什么?:他们都被允许编辑文档.

在反映更改之前,用户是否需要单击"保存"按钮?:不,应该同时反映变化

用户是否需要登录?:是的

任何人都可以编辑任何文档,还是有访问限制?:有限制即.文档的创建者可以阻止用户编辑文档.

oks*_*ayt 2

寻找解决方案的第一步是足够详细地定义所需的最终结果。不要只考虑多用户协作部分,而是尝试描述整个用户体验:

  • 用户如何选择他们想要编辑的文档?
  • 用户如何创建新文档?
  • 如果许多用户尝试同时编辑同一个文档,会发生什么情况?
  • 在反映更改之前,用户是否需要单击“保存”按钮?
  • 用户需要登录吗?
  • 任何人都可以编辑任何文档吗?或者是否有访问限制?

通过思考这些设计决策,您最终会得到一些具体的实现问题,然后您可以尝试回答这些问题。