2011-01-11 4 views
2

Итак, я начал использовать Enet, и мне это очень нравится, но я делал некоторое тестирование, отправляя информацию от клиента на сервер (60 раз в секунду), и сервер успешно получал эти пакеты (60 раз в секунду), и все шло хорошо, пока сервер не остановил прием пакетов.Клиент Enet автоматически отключается после истечения времени

После дополнительного тестирования выяснилось, что клиент отправляет отсоединяющий пакет, я не уверен, почему. Если у кого-то есть знания об Эне, которые могли бы помочь мне, это было бы весьма признательно. Единственное, что я могу сейчас подумать, это то, что клиент отключается.

Хорошо, поэтому 4:30 AM является объяснением этой проблемы. С моим последним бодрствующим яслей я заметил строку кода с аргументом 5000 мс, потому что я вызываю свой код 60 раз каждую минуту, и это время вышло примерно через 30 секунд или так было потому, что у меня была строка кода в неправильном месте ... Урок узнал, не задавать вопросы на StackOverflow после полуночи ...

  • Я не знаю, как удалить сообщения это было своего рода бесполезно
+2

Вы всегда можете ответить на вопрос самостоятельно и принять ответ, показывая, что вы сделали. Это хорошая практика, поскольку она показывает другим то, что вы сделали более ясным образом, чем включение ответа в ваш вопрос :) –

ответ

1

я побежал в эту проблему тоже недавно, и решение состоит в том, что оба хоста (клиент и сервер) должны регулярно звонить enet_host_service, иначе другой конец будет тайм-аут, как если бы был отключен разъединение.

Это связано с тем, что некоторый пример кода клиента/сервера, плавающего вокруг, не беспокоит вызов enet_host_service на клиенте.

enet_host_service выполняет небольшую уборка, следя за тем, чтобы обе стороны знали, что другой конец жив и так далее.

Смежные вопросы