Node.js - Unity, Socket отключается после повторного подключения - PullRequest
0 голосов
/ 07 мая 2018

Я занимаюсь разработкой игры Unde.js - Unity, в которой я использую сокеты, чтобы пользователи могли подключиться к игре. Я получаю проблему, как ее переподключение-разъединение, как петля в единстве. Но когда я проверил через веб-браузер, я не вижу такой проблемы. Еще одна вещь, которую я недавно использовал один порт (3011) - здесь он работает нормально и после перехода на другой порт (3012 не работает правильно). Я думал, что это так, но это не так.

Я использую версию узла v6.11.0 (с портами 3011 и 3012) и версия сокета 2.0.3 для node.js (на стороне сервера)

Кто-нибудь может мне помочь? Это образец кода

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 относится к той же комнате, здесь «отключение пространства имен клиента» - причина отключения

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Набор c# socketOption до 700

TimeSpan miliSecForReconnect = TimeSpan.FromMilliseconds(700);

Измените server.js на

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

Добавить этот интервал пинга

0 голосов
/ 17 мая 2018

Вы используете библиотеки npm?Если да, возможно, вы обновили пакет socket.io npm

Если да, то попробуйте понизить его и попробуйте еще раз. Не пытайтесь обновить пакеты, используемые в текущем проекте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...