Node.js - Unity,Socket在重新连接后断开连接

时间:2018-05-07 10:04:36

标签: node.js sockets unity3d

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

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

任何人都可以帮助我吗? 这是示例代码

responseFrame

问题看起来像是

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();
});

这里XXXX指的是同一个房间, 这里"客户端命名空间断开"是断开原因

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

c# socketOption设置为700

TimeSpan miliSecForReconnect = TimeSpan.FromMilliseconds(700);

将您的server.js更改为

var io = require('socket.io')(http, { pingInterval: 700 });

添加此ping间隔