А.В.Столяров. Практикум на ЭВМ: многопользовательский игровой сервер

Аннотация

Пособие посвящено заданию практикума, которое предполагает написание TCP-сервера, реализующего многопользовательскую игру "Менеджмент". Задание состоит из двух основных частей: собственно сервера и программируемых искусственных игроков (роботов), имитирующих поведение игрока-человека. Первая часть предназначена к выполнению на языке Си под ОС Unix с использованием TCP-сокетов; сервер предлагается реализовать как событийно-ориентированное приложение на базе системного вызова select. Вторая часть предполагает использование языка Си++ и применение основ теории формальных грамматик. На ф-те ВМиК МГУ им. М.В.Ломоносова задание применялось в поддержку лекционных курсов "Операционные системы" (первая часть задания) и "Системы программирования" (вторая часть задания).

В пособии приведено подробное описание правил игры и постановка задачи; подробно описаны все необходимые системные вызовы ОС Unix; даются указания по методике реализации.

Бумажные публикации

Пособие впервые опубликовано Издательским отделом ф-та ВМиК МГУ им. М.В.Ломоносова в 2005 году. ISBN 5-89407-220-4

Электронная версия

Доступна здесь: http://www.stolyarov.info/books/pdf/gameserv.pdf

Статус бумажной версии

Первое издание пособия поступало в свободную продажу, но было очень быстро распродано. В настоящее время имеется только в библиотеке факультета ВМК МГУ.

Многопользовательский игровой сервер

Здравствуйте!
Огромное Вам спасибо ,за возможность скачать ,и учиться по книгам.

Посоветуйте пожалуйста, какую версию ОС выбрать и где скачать:

1)Для изучения самой операционной системы.
2)Для программирования на ассемблере и С++.
3)Для создания многопользовательского игрового сервера.

Я немного "знаком" с Ubuntu , подойдет-ли она для интересующих меня целей?

Для начала

Для начала рекомендую осознать, что перед запятой пробел не ставят, тогда как после запятой пробел обязателен. Кроме того, частица "ли" отделяется пробелом, а не дефисом.

Посоветуйте пожалуйста, какую версию ОС выбрать

Любой Unix, с которым вы сможете справиться. Скачать можно буквально где угодно. Ubuntu, конечно, подходит, и даже в качестве первой системы вполне адекватна, но лучше быть морально готовым к переходу на что-то более программистское. Из Линуксов, по возрастанию сложности, посоветую: Debian (собственно, Ubuntu сделана на основе Debian, но в Debian не так радеют за запудривание пользователю мозга всякими красивостями), Slackware (это уже для сильных духом), Owl (если справитесь с ней, можете идти работать сисадмином), Gentoo и, наконец, Linux From Scratch (после этого можете считать себя познавшим Дао).

2)Для программирования на ассемблере и С++.

Не думаю, что такой набор языков можно считать удачным. Начальному программированию лучше учиться на Паскале, затем обязательно чистый Си (без плюсов), а вот дальше уже можно куда угодно.

3)Для создания многопользовательского игрового сервера.

С этой точки зрения между юниксами вообще нет никакой разницы. Вот разве что вам в голову взбредёт вместо select использовать kqueue, этого вроде в линуксе нет, тогда только FreeBSD :-)

Осознал.

Спасибо за рекомендацию и совет.

Опечатка

Доброго времени суток,
в электронной версии, стр. 46, описание ?manufactured и ?result_raw_sold одинаковые.

Спасибо

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

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Проверка на бота
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.