Я занимаюсь небольшой игрой только для обучения. Цель игры в том, что она будет в сети, но у меня есть некоторые проблемы с сериализацией команд, отправленных с сервера на клиент. Существует множество различных команд, которые могут быть отправлены, и обработка этого вручную ведет меня с ума. На данный момент я использую много «ifs» для этого, но я надеюсь, что это поможет шаблон дизайна. Я хотел бы распаковать сообщение в разных объектах, чтобы я мог получить их из какой-то очереди и эффективно обрабатывать их ... Но я хотел бы сделать это частично или полностью автоматически.Что такое хороший способ сериализации удаленных команд?
Есть ли хорошая практика для решения этой проблемы? Было бы хорошо, если бы это было эффективно.
Заранее спасибо.
PS: Хотя это концептуальный вопрос, я использую C++, поэтому какое-то конкретное решение тоже будет хорошо.
Модель актера очень проста в применении. Посмотрите, насколько это просто: https://github.com/rfqu/CodeSamples/tree/master/src/simpleactor. Он написан в java, но может быть легко переписан на C++. Для этого требуется Исполнитель, который является просто пулом потоков, а https://www.google.com/search?q=thread+pool+c%2B%2B показывает, что на C++ существует множество реализаций пула потоков. –