Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Основы клиент - серверных приложений
#1
Всем привет. Строю клиент серверную игру на уе4. Хотелось бы чтоб понакидали ссылки на нормальные статьи о разработке таких приложений, ссылки на видео и прочее который вы находили и я бы смог их прочитать)

Потомучто то что гугл мне выдает весьма мало инфы хотя может быть я плохо ищу.

Также если можете скажите правильно ли я все понимаю по этапно :

на примере просто для начала

Сделать лаунчер с возможностью реги / и авторизации, который будет посылать(??? хз как можете подсказать какие примерно функции) GET(?) запрос серверу авторизации, тот будет биндится к определенному IP и порту, и если пароль и логин верен и есть в базе както подключится к этому айпи и порту перенаправляет данные на игровой сервер который читает логин и пароль, выбираем сервер из списка. смотрит если ли персонажи и если есть покзывает какой если нет то можно создать нового далее регистрируем персонажа, вводим имя и заходим в игру.

Все весьма просто так кажется но честно говоря я понятие не имею с чего начать все это писать, есть какие нибудь стратегии или концепты как все это пишется изначально, с чего начинается и прочее.

Спасибо:Olen':

Другими словами куда копать какие функции искать?
Ответ
#2
Раз
Два
Ну ты понял:)
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Ответ
#3
шикарно спасибо))

Добавлено через 4 часа 16 минут
Такой вопрос, заставить сервер слушать коннекты к нему от клиента простым Do WHILE до бесконечности? или есть другой метод заставить пасивно слушать все входящие коннекты
Ответ
#4
Вариант 1, блокирующий режим:

В отдельном потоке Do WHILE зависаем на ожидании нового соединения на функции accept

Как только подключился клиент, создаем новый поток, передаем ему данные о новом соединении и дальше опять зависаем на accept.
Ответ
#5
Прочитай про асинхронку.
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#6
[Изображение: RTYxLt0.png]

Зубастик это правда?

Добавлено через 1 минуту
Цитата:Вариант 1, блокирующий режим:

В отдельном потоке Do WHILE зависаем на ожидании нового соединения на функции accept

Как только подключился клиент, создаем новый поток, передаем ему данные о новом соединении и дальше опять зависаем на accept.

Этот же метод использует сервер Lineage2?
Ответ
#7
Смотря какой сервер....
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#8
логин сервер к примеру
Ответ
#9
Temptation Написал:логин сервер к примеру

Если о джава сервере, то он построен на non blocking io. Click.

Добавлено через 4 минуты
Temptation Написал:[Изображение: RTYxLt0.png]

Зубастик это правда?

Внутри сетевого движка - да. А далее уже, все что выходит из сети - по твоему желанию, в зависимости от того какую, архитектуру сделаешь, может быть тебе нравятся очереди и консумеры:)
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Ответ
#10
блин я запутался малясь.

Значит для лучшей производительности лучше всетаки асинхрон нон блокинг?

Если БД запрещены, то как производить к ней запросы.

Т.е есть коннект к серверу, сервер дает запрос в бд? это уже отдельным тридом?

Если я пишу сервер логина и т.д на с++ не глупо использовать библиотеку Boost:asio http://www.boost.org/ ??

Добавлено через 31 минуту
Ладно я углублюсь в изучение если что еще отпишу сюда))
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Загрузка armor.grp в веб клиент пару вопросов OneThunder 8 2,480 07-30-2016, 11:00 PM
Последний пост: OneThunder
  c# клиент-сервер kpNemo 1 2,392 03-22-2016, 10:38 AM
Последний пост: PROGRAMMATOR
  С# клиент-сервер kpNemo 8 4,444 06-21-2015, 01:35 PM
Последний пост: kpNemo

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)