2017-03-04 79 views
-1

所以我有一個網站,玩家在候車室等待,直到控制遊戲的客戶端按下按鈕啓動它。強制客戶端改變頁面

如何強制所有客戶端移動到「開始遊戲」頁面? 現在我正在使用HTTP來處理HTML文件,我也可以添加Javascript(我不知道熱我使用CSS)。

感謝

候車室代碼是財產以後這樣的

<html> 
    <head><title>Waiting Room</title></head> 
    <body> 
     please wait for the game to start 
    </body> 
</html> 

回答

1

不使用Javascript你不能做到這一點。在Javascript中你就可以說:

top.location.href = "http://go.wherever"; 

現在我從您的意見得到的是以下情況:

您創建服務HTML頁面到客戶自己的HTTP服務器應用程序。

這就是說,您的客戶目前沒有任何邏輯。你應該瞭解的WebSockets:https://en.wikipedia.org/wiki/WebSockethttps://developer.mozilla.org/en/docs/Web/API/WebSocket

你需要的是更多或更少以下(抽象):

您的服務器:

HTTPServer.ServeHTMLPage(htmlPage); 
WSServer.WaitForIncomingSockets(); 

用戶的瀏覽器:

<html> 
    <head><title>Waiting Room</title></head> 
    <body> 
     please wait for the game to start 
     <script type="text/javascript"> 
      var ws = new WebSocket(someUrl); 
      ws.addEventListener("message", function(e){ 
       // handle incoming data 
      } 
      // connect to the server and keep the connection open 

     </script> 
    </body> 
</html> 

當所有客戶端都準備好後,通過websocket將消息發送給所有等待的用戶。儘管如此,你將不得不實施你自己的協議。

+0

我可以使用Javascript。 但是我如何在我的代碼中使用它?' –

+0

我看不到你的代碼,也許你應該在你的問題中提供一些代碼 – Psi

+0

我添加了等候室的代碼 –