首页 > 解决方案 > Node.js - Unity,重新连接后 Socket 断开连接

问题描述

我正在开发一个 Node.js - Unity 游戏,我在其中使用套接字,以便用户连接到游戏。我遇到了一个问题,就像它像统一中的循环一样重新连接-断开连接。但是当我通过网络浏览器检查时,我没有遇到这样的问题。最近我正在使用一个端口(3011)的另一件事-在这里它工作正常,并且在转移到另一个端口后(3012 无法正常工作)。我以为是这种情况,但事实并非如此。

我正在使用节点版本 v6.11.0(带有端口 3011 和 3012)和用于 node.js(服务器端)的套接字版本 2.0.3

谁能帮我?这是示例代码

io.on('connection', function(socket)
{
  console.log('User connected');

  socket.on('disconnect', function(reason){
    console.log('User disconnected',reason);
  });
});

socket.on('joinroom', function(roomId)
{
  console.log('player joined room: ' + roomId);
  socket.join("room_"+roomId);
});

http.listen(3012, function(){
  console.log('Started nodejs server');
  initRoomActivity();
});

这个问题看起来像

player joined room: XXXX
User disconnected client namespace disconnect
User connected
player joined room: XXXX
User disconnected client namespace disconnect
User connected
player joined room: XXXX

这里XXXX指的是同一个房间,这里“client namespace disconnect”就是断开原因

标签: node.jssocketsunity3d

解决方案


你在使用 npm 库吗?如果是,那么您可能已经升级了 socket.io npm 包

如果是,请尝试降级并再次尝试不要尝试升级当前项目中使用的包


推荐阅读