У меня есть небольшая игра, где вы подключаетесь к самодельному выделенному серверу C # с TCP-сокетами.В обоих приложениях Unity Editor, Standalone Windows build и Unity Remote на моем телефоне моя игра работает хорошо, и мои пакеты полностью распознаются сервером и всеми клиентами.С моим Android-телефоном все складывается.
Я могу запустить игру, создать новую игровую комнату в лобби и запустить игровую комнату, когда я буду готов.Но в игре я не могу двигаться, как ожидалось.Сначала я думал, что это мой контроллер плеера, но это не так.Вот что происходит:
игра видит сенсорный ввод и отправляет его по сети;
сервер получает пакет, может прочитать его, понять его и передать свой ответ (если он действителен) любомуклиент подключен;
Случай 1: клиент не получит ничего (метод OnReceive даже не вызывается) по моему асинхронному соединению (99% того, что происходит)
Случай 2: клиентполучить пакет, понять его и применить соответствующее поведение в игре -> ход игрока (с пользовательским указанием пути A * на сетке).Этот случай встречается очень редко.
думаю, что приемный буфер заполнен.
Интересно, не сетевая ли система Android переходит в какой-то режим ожидания.Я видел, что это может произойти, но я не знаю, как решить эту проблему или связано ли это с моей проблемой.
Сегодня я не понимаю, почему, теоретически, такое поведение происходит и как это исправить,Если у кого-то есть какие-либо подсказки, я буду очень рад услышать это.
Спасибо, ребята