Протокол не имеет никакого отношения к модели коммуникации.
Протокол лишь реализует то как данные посылаются, а модель реализуется уже разработчиком. Хочешь посылаешь данные на сервер (c<>s) и он с ними работает и рассылает другим, а хочешь посылай данные другим игрокам (p2p).
TCP - гарантирует доставку в посланной последовательности, и сохранности данных. Это реализуется разными механизмами, которые работают на операционной системе основываясь стандартам IEEE (не помню какому конкретно, википедия подскажет). Они созданы для того чтобы реализовать всю стабильность протокола. Учитывая их более сложное устройство и необходимость заботиться о большем колличестве вещей, они немного проигрывают в скорости протоколу UDP. Но UDP не имеет никакой гарантии, при этом этот протокол "слепой" - он не держит никаких соединений и т.п. Идентификация соединений также весьма затруднительная задача, и реализовать её нужно будет тебе самому.
Когда тот же TCP, устанавливает соединение и поддерживает его на низком уровне.
1. Почему SendNetMsg имеет 99 разных типов?
|
Тебе уже ответили.
2. Могу ли я в нормальной функциональной игре использовать только 1 тип?
|
Да, но тебе нужно как-то различать свои данные, будешь ли ты использовать типы предоставленные функционалом который уже есть, либо сам реализуешь обусловив структуру своих пакетов (протокол), дело твоё.
3. И вообще, какая разница между разными типами?
|
Ты послал пакет с данными о позиции игрока клиенту, пакет не мудрённый, имеет фиксированный размер. Но вот тебе нужно послать чат сообщение, длина пакета зависит от длины сообщения. Плюс, как ты будешь различать, что это позиция, или сообщение? Для этого их как-то например нумеруют - первые 2 байта например, испольщуют для 16 битного числа, которое идентифицирует тип пакета. Можно как угодно идентифицировать - дело твоё.
6. Какая команда мне поможет осуществить поиск рабочих серверов? (тоесть созданных игр, что то вроде кнопки Refresh в контерстрайке)
|
Это нужно сделать самому. Иметь сервер, который будет иметь возможность собирать данные о созданных играх, и рассылать их по запросам. Когда кто-то создаёт игру, он отсылает данные о своей игре на этот сервер.
7. Когда на форуме редактируеш сообщение, то тема апается?
|
Нет.
ЗЫ, почитай статьи про сеть в интернете.