Я в кодировании 3D некоторое время, и теперь я не хочу создавать игру, которая работает с Networking. Я использую System.Net и System.Net.Sockets.C# Client Server TCP Client Listening
Мой сервер - это глупо, черт возьми, он просто может поддерживать одно соединение (позже я изменю его на возможности множественного соединения). Он имеет TcpListener, который прослушивает 127.0.0.1 на Port 10000. (Просто для тестирования). Там у меня есть Lo While Loop, который проверяет полученные данные и дисплеи.
Мой клиент - TcpClient. Он подключается к серверу и отправляет сообщение. Здесь ничего особенного, это делается с помощью TcpClient.GetStream(). Write(). Это отлично работает. Я также могу прочитать один ответ сразу после отправки.
Но что, если сервер отправит какую-либо информацию без запроса Клиента? Например: все игроки на сервере получают элемент. Как мне настроить свой клиент, чтобы иметь возможность получать такие сообщения?
Должен ли мой клиент запросить в цикле? Или мне нужно как-то сделать делегата? Я могу создать цикл, который запрашивает такую информацию каждые 200 миллисекунд или что-то в этом роде, но как это изменит производительность 3D-игры?
Как это делается при разработке профессиональной игры?