Страницы:1

Ответить
Создание онлайн-игры: основы
 

Создание онлайн-игры: основы

Данный урок основывается на авторской публикации пользователя. В этой статье вы познакомитесь с базовыми понятиями, в которых необходимо разбираться разработчику для создания онлайн-игры, а также увидите, как можно создать простейший сервер на платформе .NET с использованием протокола TCP/IP.
information must be free for all
 
Маленькая ремарка.

При работе с TCP соединениями нужно всегда помнить о нескольких вещах:
  1. Если у вас все работает на локальном компьютере, это совершенно не означает, что будет работать в реальных условиях.
  2. Если вы отправляете данные, то это не значит, что вы получите сразу все эти данные за раз или то, что вы получите их вообще. Вы должны ВСЕГДА проверять и обрабатывать ситуации, когда данные пришли не полностью.
На практике, самый простой способ общения с удаленной машиной строится по следующей схеме:
  1. Вы отправляете 4 байта(int) - длину отправляемого массива.
  2. Отправляете уже сам массив байт.
  3. Клиент получает 4 байта длинны.
  4. Рекурсивно получает сам массив уже известной ему длинны.
В противном случае вы рискуете получить не все данные и, скорее всего, так и случится.

Так же хорошей практикой является хранение обертки для клиента в самом сервере.
В такой обертке можно хранить идентификатор, имя и прочие данные, полученные от клиента и, самое главное, экземпляр класса TcpClient для того, что бы вы знали в какой поток слать данные для определенного клиента.
Изменено:Aleh Lipka - 23 Августа 2017 11:14:00
Вступай в ряды авторов esate.ru!
Страницы:1

Ответить
Читают тему (гостей: 1)
Форма ответов
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Загрузить картинки
ОтправитьОтменить
 
^
Регистрация
Регистрируясь, вы принимаете правила сайта. Если вы не получили код подтв. регистрации - не забудьте проверить папку спам.
Логин*
Email*
Пароль*
Подтверждение пароля*
 
Логин*
Код*
 
×
Восстановление пароля
Пожалуйста, заполните поля, после чего вы получите код подтверждения на ваш Email. Если код не пришел в течении нескольких минут - проверьте папку спам.
Логин

или Email
Логин*
Код подтверждения*
Новый пароль*
Подтверждение пароля*
×
Авторизация
  • Используйте вашу учетную запись на Facebook.com для входа на сайт.
  • Используйте вашу учетную запись VKontakte для входа на сайт.
  • Используйте вашу учетную запись Google для входа на сайт.
Авторизуйтесь с помощью соц. сети или с помощью аккаунта на сайте:
×