2013-03-08 28 views
1

我正在開發一個restfull Web服務使用WebAPI(格式JSON與填充),它是基於玩基於板的遊戲作爲井字棋或國際象棋或連接四... 我真的很想要它對於能夠用任何語言輕鬆地創建人工智能來說是不同尋常的。添加一些通知到restfull架構

該服務被JavaScript(jquery)使用,並且在HTML5中使用畫布繪製該板。現在一切正常,除了我們必須手動刷新以知道對手是否已經輪到他,或者發送對方短信,發送電子郵件通知。

如何讓幾個HTML5客戶端根據主題推送通知(這裏是遊戲ID)? 我聽說過有關Web套接字,它是正確的方向嗎?

謝謝你的幫助!

+1

http://stackoverflow.com/questions/12924885/websocket-reading-strings – Shanimal 2013-03-08 17:40:13

回答

0

簡答:是的,你可以和WebSocket的是你在這種情況下的朋友。

您首先需要一個服務器來處理WebSocket協議,並且能夠爲收聽主題的所有聽衆廣播通知。

最適合你的將是FastFlicker: 它已經帶有一個清晰的界面易於使用的JavaScript對象。 見:

它的工作原理如下:您第一次連接,那麼你發送的第一條消息是主體,然後將所有的未來進行廣播。除了您自己的,您將收到廣播給您主題的所有消息。

使用它是MikMak本身應用的一個例子:http://www.olivettom.com/games/

對你來說,每次選擇新遊戲的時候,只需訂閱受到=遊戲ID後玩家此舉發送類似「1」的消息。 在聽到傳入消息的同時,如果您收到「1」,只需做好您的休息時間以獲得最後一次遊戲狀態。

祝你好運!

0

不是一個明確的答案,但你可以設置一個JavaScript的時間間隔,使客戶端檢查服務的更新。如果您想檢查每10秒:

$(function() { 
    timer = setInterval(function() { 
     $.get(your_url, function(data) { 
       // What your client should do with the data 
     }); 
    }), 10000); 
}); 
+0

謝謝@Austin,謝謝你的回答。我雖然關於這個解決方案,但它產生了很多無用的trafic並使用服務器cpu並沒有連接。 這正是我想要避免的。 – Thomas 2013-03-08 17:43:12