2014-04-01 75 views
0

我正在学习套接字和服务器/客户端模型概念,并且很难理解服务器客户端概念。如果客户端发送请求,服务器是否可以发送多个响应?或者我们必须将所有内容都放在一个响应中?
对于记忆游戏程序,当客户点击一张卡时,该动作会向服务器发送一个请求,以便在每个玩家的程序中打开该卡,如果第二张卡不匹配,则服务器告诉玩家等待2秒,转回2张牌,然后转到下一位玩家。服务器可以在多个响应中做到这一点,或者它必须在单一响应中做到这一点?由于没有客户要求回复,所以我不知道它是否可以实现。服务器可以发送多个响应客户端的请求吗?

回答

1

如果你在谈论TCP连接,建立连接后客户端和服务器是等效的,两者都可以自由发送数据,只要他们喜欢和/或关闭他们的连接结束。

编辑:几次通过后,我想我已经明白你的问题的第二段是针对什么。
当然,没有任何东西可以阻止服务器执行任何操作。大多数情况下,服务器似乎在阻止InputStream.read()操作。如果您希望即使没有网络输入发生时服务器也能运行,一种解决方案可能是使用读取超时,或者在实际读取之前检查输入流的可读性。

+0

您的意思是什么?您是否回答OP的查询? – spiderman

+0

编辑:在问题的前半部分,OP讨论客户端和服务器,就好像在I方面存在差异/ O,我觉得我应该指出没有,下半场直到我重新阅读(因此编辑)才对我有意义。 – fstd

0

这不是你完整的答案。 对于一个请求,您会收到一个响应。

请在这个信息中wikipedia为基础

“请求 - 响应,也称为请求 - 应答,是其中一个请求者发送一个请求消息,其接收一个回应者系统中的消息交换模式并处理请求,最终返回一条消息作为响应,这是一个简单但功能强大的消息传递模式,它允许两个应用程序在一个通道上进行双向对话,这种模式在客户端 - 服务器体系结构中尤其常见。 1 为了简单起见,该模式通常以纯粹的同步方式实现,就像通过HTTP进行的Web服务调用一样,该服务调用包含一个连接o笔并等待直到响应被传送或超时期限到期。但是,请求响应也可以异步实现,并在稍后的某个未知时间返回响应。这通常被称为“异步同步”或“同步/异步”,在企业应用程序集成(EAI)实施中很常见,因为在响应之前必须执行缓慢的聚合,时间密集型功能或人员工作流程构建和交付“。

相关问题