Перейти к содержанию
Авторизация  
MURC

Error connect (GameServer)

Рекомендуемые сообщения

Всем привет! Периодически, когда на 5-10 секунд пропадает сеть, gameserver выдает вот такую ошибку 

java.net.SocketException: Connection reset
        at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:345)
        at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:376)
        at net.sf.l2j.commons.mmocore.SelectorThread.acceptConnection(SelectorThread.java:235)
        at net.sf.l2j.commons.mmocore.SelectorThread.run(SelectorThread.java:153)
TRYING TO RECONNECT...
Exception in thread "SelectorThread-93" java.lang.NullPointerException
        at net.sf.l2j.commons.mmocore.SelectorThread.readPacket(SelectorThread.java:261)
        at net.sf.l2j.commons.mmocore.SelectorThread.run(SelectorThread.java:157)

 

Не могу понять, почему так происходит, кто может  подсказать ? SelectorThread.java прикрепил и выложил под спойлер! Спасибо заранее

 

  code (Показать контент)

 

Дальше выбора сервера соответственно перестает пускать

Изменено пользователем MURC

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовали сделать вот так

private final void acceptConnection(final SelectionKey key, MMOConnection<T> con)
    {
      ServerSocketChannel ssc = (ServerSocketChannel) key.channel();
      SocketChannel sc;
      try
      {
        while ((sc = ssc.accept()) != null)
        {
          if (_acceptFilter == null || _acceptFilter.accept(sc))
          {
            sc.configureBlocking(false);
            SelectionKey clientKey = sc.register(_selector, SelectionKey.OP_READ);
            ByteBuffer buffer = ByteBuffer.allocate(28);
            int n = sc.read(buffer);
            InetAddress address = sc.socket().getInetAddress();
            if (n > 0) {
              address = InetAddress.getByAddress(Arrays.copyOfRange(buffer.array(), 16, 20));
            }
            con = new MMOConnection<>(this, sc.socket(), clientKey, TCP_NODELAY, address);
            con.setClient(_clientFactory.create(con));
            clientKey.attach(con);
          }
          else
              sc.socket().close();
        }
      }
      catch (IOException e)
      {
        e.printStackTrace();
        System.out.println("TRYING TO RECONNECT...");
      }
    }

Но ошибка все равно появляется переодически, и дальше выбора сервера нельзя зайти.

Кто может дать совет, что делать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поменяй настройки  + если хочешь востановление соединение то надо дописывать реконект 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...