2016-11-05 14 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套接字时遇到此问题。