我在两个用户之间有一个简单的 ajax 游戏,带有 java 后端(tomcat,spring)。我需要一些好的方法来通知一个用户他的对手转了。现在所有的通信都是通过数据库完成的,等待对手完成他的回合看起来像这样:
while(!timeout && !opponentIsDone) {
//...get the game record from db and check if opponent made turn
Thread.sleep(100);
}
我可以用 sleep() 以某种方式摆脱这个循环并立即得到通知而不会延迟(但有超时)?我可能可以制作一些全局静态变量并通过它进行通信,但我仍然需要类似的循环,也许超时会更小。
轮到完成后,我不能只调用某个方法,因为它都需要通过 ajax 进入浏览器,我不能在那里推送数据,只能拉取。所以我需要有等待对手的过程。
我正在寻找一些轻巧简单的解决方案。
谢谢。