Я пишу простую многопользовательскую браузерную игру, которая использует WebSockets для отправки информации между клиентом и сервером.
Когда я изначально разрабатывал протокол, я решил, что каждый заголовок сообщения будет содержать идентификатор пользователя (случайно сгенерированный UUID). Если соединение было разорвано, клиент попытается восстановить соединение, и сервер сможет идентифицировать клиента по идентификатору пользователя.
Я использовал только протокол UDP без установления соединения для отправки данных по сети. Я понял, что WebSocket построен поверх TCP, что означает, что сокет больше похож на поток данных, а не на отдельные пакеты, которые могут достичь или не достичь своего пункта назначения.
Я начинаю сомневаться в отслеживании идентификаторов пользователей в сообщениях. Поскольку TCP по своей сути основан на соединении, нужно ли мне отслеживать идентификатор пользователя? Есть ли какие-либо преимущества в отслеживании идентификатора пользователя? Если соединение будет разорвано, сервер и клиент переподключатся автоматически? Я не очень далеко продвинулся в реализации игры. Должен ли я просто отказаться от идеи с идентификатором пользователя?