2016-11-05 60 views
0

我在查看是否有辦法將html文件發送到socket.io連接而不斷開連接並更改其窗口位置。現在我已經設置瞭如果有人試圖訪問我的網站,他們會被提示輸入一個名字。當輸入這個名字並且用戶按下游戲時,他們將被髮送到網站上的/遊戲目錄。他們還會發出他們的名字以及連接信息。當他們連接到/遊戲目錄時,它會斷開用戶的信息(包括他們的名字),從玩家列表中刪除。然後,當玩家加入到/遊戲目錄時,他們的名字是null,他們的信息是全新的信息,如座標和事物。下面是我的代碼使用,以檢測/遊戲的請求:在socket.io中發送文件而不更改用戶的窗口位置

//Sends home page that asks for name. 
 
app.get('/',function(req, res){ 
 
\t res.sendFile(__dirname + "/client/home.html"); 
 
}); 
 
//Sends game file when /game is requested 
 
app.get('/game',function(req, res){ 
 
\t res.sendFile(__dirname + "/client/game.html"); 
 
});

有沒有什麼辦法阻止從當他們改變遊戲畫面斷開用戶?這樣我可以保留他們的信息?還是有什麼我可以做的,以解決這個問題?

+1

你基本上可以用websockets發送任何東西,但是你有什麼是路由,你必須把數據發送給客戶端,並在那裏插入標記等,就像你使用ajax一樣,這通常是一個更好的選擇對於這種事情。 – adeneo

+0

@adeneo不知道我明白你的意思 – McMatt

回答

0

每次在瀏覽器中更改URI時,都應重新連接您的websocket連接。

我的建議是使用單頁應用。後端將僅通過套接字或/和REST發送數據。前端將從後端渲染數據。現在您已經查看了您的後端,並在重新連接Web套接字時遇到此問題。