2011-06-13 78 views
2

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

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

现在的服务器,我有点失落,因为似乎有许多不同的Java服务器,比如码头& Netty的。我也谨慎行事,以免在这里尝试重新发明任何车轮。

建立服务器是否正确?或者构建一个web服务来完成需求的特定任务?

我也不只是寻找一种适合所有人的解决方案(可能是一厢情愿),但对我目前的状况有任何见解。

回答

1

Netty将提供很多它听起来像你需要的东西,而无需重新创建套接字服务器。也就是说,我会确保您实际上需要客户端和服务器之间的双向实时通信。如果您可以重新修复问题,以便客户端 - 服务器通信不需要实时,那么RESTful Web服务等事情就成为可能,并且(以我的经验)不太复杂且容易出错。