Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Origin/ Battle net и пр

Origin/ Battle net и пр

-=MASTER=-Постоялецwww13 фев. 201822:18#0
Взять тот же Origin от EA Games, теперешние игры без него не идут, то есть ты логинишь Origin к сети EA, потом можешь уже запускать любую доступную игру на выбор.
Так вот, я вот думаю нечто подобное замутить, то есть один аутентификационный модуль, с помощью которого ты логинишься к серваку, далее, тебе уже прилетает список доступного лично тебе ПО, которое ты можешь загрузить и запустить.
Как бы лучше организовать сеть...

Вариант 1: Запущенные процессы доступного ПО на твоём компе взаимодействуют с серваком через ведущий софт (аутентификационный, типа Origin/Battle Net), то есть они сами по себе не могут к серваку приконнектится, они соединяются с локал хостом по сокетам, кидают ему пакеты, а тот уже ретранслирует их на сервер. То есть загруженное ПО кидает транзакцию по сокету на главный софт, а тот по одному единственному TCP соединению перекидывает это на сервер. Ответ получает так же. То есть этот ведущий софт - что то типа роутера.

Вариант 2: Доступный софт по локал хосту коннектится к ведущему, тот инициализирует новое TCP подключение, то есть создаёт сокет, далее кидает его дескриптор процессу этого доступного ПО и тот уже по отдельному сокету, созданному по этому дескриптору, взаимодействует с сервером.

Хмм... Ну первый вариант мне не нравится тем, что всё идёт через один сокет, то есть не будет ли он ботлнеком как бы, да и не удобно всё это распарсивать, ну мол от кого мессаг, куда...что бы в сокете каши не было, нужно мьютексами лочить доступ тд...  Второй вариант...Ну....если вшить в доступный софт возможность коннекта к серверу, то его легко можно будет пропачить и послать на... ведущий софт, что бы тот коннектился без него (хотя кому это надо в коммерческом не игровом софте... хотя...?) . Хотя с другой стороны, как он приконнектится к серверу, там же проверка стоит...
Хотя с таким же успехом, если не боятся патча софта, можно прикинуть Вариант 3: доступный софт может соединятся с ведущим, говорить мол, хочу запуститься, тот ему в ответ кидает ip/port сервака и говорит - валяй, ну и тот спокойно коннектится уже как хочет...

Что скажите, какой вариант лучше и может есть другие? :-)

/ Форум / Программирование игр / Сеть

2001—2018 © GameDev.ru — Разработка игр