我正在开发一个restfull网络服务使用WebAPI (格式Json与填充),它是关于发挥棋盘为基础的游戏作为井字游戏或国际象棋或连接四…我真的希望它是异步的,因为它能够轻松地用任何语言创建人工智能。
该服务由javascript (jquery)使用,并且在HTML5中使用canvas绘制画板。现在一切都运行得很好,除了我们必须手动刷新以了解对手是否已经打了轮到他,或者给对方发送短信,电子邮件发送通知。
如何让多个HTML5客户端根据一个主题(这里是游戏id)推送通知?我听说过Web socket,它是正确的方向吗?
谢谢你的帮助!
发布于 2014-05-30 09:03:49
Short Answer:是的,你可以,在这种情况下,WebSocket是你的朋友。
您首先需要一个处理WebSocket协议的服务器,并且能够为侦听某个主题的所有侦听器广播通知。
最适合你的将是FastFlicker:它已经提供了一个界面清晰、易于使用的javascript对象。请参见:
它的工作原理如下:你首先连接,然后你发送的第一条消息是主题,然后所有下一条消息都会被广播。您将收到所有广播到您的主题的消息,除了您自己的消息。
使用它的应用程序的一个例子是MikMak本身:http://www.olivettom.com/games/
对于你来说,每次你选择一个新的游戏,只需订阅subject=gameId,在玩家移动后发送一条类似"1“的消息。在收听传入消息时,如果收到"1",则只需执行restfull调用即可获得游戏的最后一个状态。
祝好运!
发布于 2013-03-08 17:40:41
不是一个明确的答案,但你可以在javascript中设置一个时间间隔,让客户端检查来自服务的更新。如果你想每隔10秒检查一次:
$(function() {
timer = setInterval( function() {
$.get(your_url, function(data) {
// What your client should do with the data
});
}), 10000);
});
https://stackoverflow.com/questions/15299983
复制相似问题