我在http://foobar有一个服务器,它返回一个JSON对象,其中包含过去第二天发生的事情的信息,例如
{
time: 2011-06-08 05:07:33,
total: 235324,
average: 1233
}
调查此服务器的最佳方式是什么,以便我获得每次更新?我猜我不想只是轮询服务器,睡1秒钟,然后再次轮询(因为轮询可能需要一些时间并导致事情延迟,所以我可能会错过一些更新)。我应该做什么而不是像睡眠一样只做0.5秒,轮询服务器,然后检查我收到的JSON对象是否与我收到的最后一个JSON有不同的时间戳?
(顺便说一下,我在Java中这样做,虽然我不认为语言真的很重要。)
答案 0 :(得分:4)
如果您需要获得每次更新,服务器应该将更新推送给您而不是朝另一个方向发展。
例如,您应该考虑在客户端和服务器之间设置流,以便服务器可以向客户端发送事件通知。
答案 1 :(得分:1)
您可以使用“阻塞拉”模式(不知道它的真实名称):
这种模式的优点是
缺点是客户端几乎总是处于阻塞状态。这可能不适合所有客户端应用程序