Kryonet лимит идентификатора соединения?

Я использую kryonet для моего проекта LibGDX. Каждый раз, когда клиент подключается к серверу, создается новый идентификатор подключения. Например. Клиент 1: ID 1. Клиент 2: ID 2.

Когда клиент повторно подключается, счетчик продолжает работать, он, похоже, не использует более старые идентификаторы. Например. Клиент 1 переподключается: ID 3.

Через некоторое время крионет сбрасывает счетчик? Или есть ли способ сбросить счетчик? Я беспокоюсь о проблемах после того, как мой сервер работает некоторое время.

1 ответ

Решение

Я решил свою собственную проблему, но я оставлю это здесь, если кому-то будет интересно.

Я искал источник Kryonet и нашел это:

int id = nextConnectionID++;
if (nextConnectionID == -1) nextConnectionID = 1;

Когда это значение достигает максимального значения, оно переходит на минимальное значение. Ссылка: /questions/32178119/chto-proishodit-kogda-vyi-uvelichivaete-tseloe-chislo-sverh-ego-maksimalnogo-znacheniya/32178142#32178142.

Я думаю, никогда не будет проблем.

РЕДАКТИРОВАТЬ: Kryonet использует -1 в качестве идентификатора, когда соединение никогда не было установлено. Если nextConnectionID считает максимальное значение до 32 битов, затем переходит на минимальное значение и снова считает до 0, в какой-то момент он пройдет -1. Это будет проблемой для одного соединения. Я еще не нашел проблему с отрицательным идентификатором.

Другие вопросы по тегам