用Java为客户端/服务器端双向通信反馈系统构建服务器?

用Java为客户端/服务器端双向通信反馈系统构建服务器?,java,web-services,bidirectional,feedback-loop,Java,Web Services,Bidirectional,Feedback Loop,场景:用户登录客户端软件,该软件与服务器端实体(服务器)形成持久的双向连接,该实体将处理用户指定的任务。当服务器端实体在处理用户任务时遇到错误或需要进一步的用户输入时,它将通知客户端软件,并等待客户端决定执行什么操作。客户端软件将接收新的用户指定的FD输入,并将其发送到服务器端。服务器端使用新的用户指定输入继续上次停止的位置。此反馈周期将继续,直到完成处理。逐步更新的用户输入将全部存储在服务器端,并可从客户端软件访问和修改。因此,如果客户机删除了特定的输入,那么该更改将立即反映在服务器端。在服务

场景:用户登录客户端软件,该软件与服务器端实体(服务器)形成持久的双向连接,该实体将处理用户指定的任务。当服务器端实体在处理用户任务时遇到错误或需要进一步的用户输入时,它将通知客户端软件,并等待客户端决定执行什么操作。客户端软件将接收新的用户指定的FD输入,并将其发送到服务器端。服务器端使用新的用户指定输入继续上次停止的位置。此反馈周期将继续,直到完成处理。逐步更新的用户输入将全部存储在服务器端,并可从客户端软件访问和修改。因此,如果客户机删除了特定的输入,那么该更改将立即反映在服务器端。在服务器端,可能需要一个额外的接口将不同用户的客户端路由到可用的硬件节点(云),以支持在服务器端运行的并发多用户任务

在客户端,我怀疑使用套接字连接到服务器

现在对于服务器,我有点不知所措,因为似乎有许多不同的Java服务器,比如Jetty&Netty。我也在练习谨慎,以避免在这里试图重新发明任何轮子

构建服务器是正确的方法吗?或者构建一个Web服务来按需完成特定任务


我也不只是在寻找一个一刀切的解决方案(可能是一厢情愿的想法),而是愿意了解我目前的情况。

Netty将提供许多您听起来需要的解决方案,而不会让您重新发明套接字服务器。也就是说,我将确保您确实需要客户端和服务器之间的双向实时通信。如果您可以重新处理这个问题,使客户机-服务器通信不需要实时,那么RESTful Web服务之类的东西就成为可能,而且(以我的经验)就不那么复杂,也不那么容易出错