А.В.Столяров. Практикум на ЭВМ: многопользовательский игровой серверАннотацияПособие посвящено заданию практикума, которое предполагает написание TCP-сервера, реализующего многопользовательскую игру "Менеджмент". Задание состоит из двух основных частей: собственно сервера и программируемых искусственных игроков (роботов), имитирующих поведение игрока-человека. Первая часть предназначена к выполнению на языке Си под ОС Unix с использованием TCP-сокетов; сервер предлагается реализовать как событийно-ориентированное приложение на базе системного вызова В пособии приведено подробное описание правил игры и постановка задачи; подробно описаны все необходимые системные вызовы ОС Unix; даются указания по методике реализации. Бумажные публикацииПособие впервые опубликовано Издательским отделом ф-та ВМК МГУ им. М.В.Ломоносова в 2005 году. ISBN 5-89407-220-4 Электронная версияДоступна здесь: http://www.stolyarov.info/books/pdf/gameserv.pdf Статус бумажной версииПервое издание пособия поступало в свободную продажу, но было очень быстро распродано. В настоящее время имеется только в библиотеке факультета ВМК МГУ. |
пояснениеВы находитесь на официальном сайте Андрея Викторовича Столярова, автора учебных пособий по программированию и информационным технологиям. Если вы искали сайт замечательного писателя-фантаста Андрея Михайловича Столярова, то вам, к сожалению, не сюда. Андрей Михайлович Столяров в библиотеке Мошкова |
☞ From feriman Sun Oct 24 16:41:00 2021 UTC
Опечатки
Стр. 16, 4-я строка сверху - опечатка в слове "подлежащих".
Стр. 19, 10-я строка сверху - опечатка в слове "вызвавший".
Стр. 38, 16-я строка снизу - опечатка в слове "наличии".
ответить
From admin Sun Oct 24 20:54:01 2021 UTC
Да там опечаток
Да там опечаток как слонов, их бесполезно вылавливать — если я когда-нибудь вернусь к этой книжке (что крайне маловероятно), я её перелопачу всю всё равно.
ответить
☞ From yuri (unverified) Fri Aug 24 16:48:00 2018 UTC
Нужно Ваше авторитетное мнение
Андрей Викторович, не могли бы вы посоветовать приемлемый,
с Вашей точки зрения, вариант совмещения изучения Вашей серии книг (включая том по С++) и создания программы по данному методическому пособию?
И какие ещё учебные пособия было бы неплохо привлечь для успешного выполнения всех заданий? Например, в методичке упоминается теория формальных грамматик. Объясните, пожалуйста, для чего и в какой степени она тут нужна, а также по каким учебникам стоит ей заниматься (если стоит).
Спасибо!
ответить
From admin Sat Aug 25 19:44:45 2018 UTC
Совмещение
Вопрос не вполне понятно сформулирован, но я всё же попробую ответить. Для реализации этого задания в объёме первых трёх глав методички требуется знать по меньшей мере язык Си, уметь работать с системными вызовами Unix и немножко понимать компьютерные сети. Следовательно, требуется из имеющегося трёхтомника освоить по меньшей мере второй том и две из четырёх частей третьего (где про Unix и про сети). Возможно ли освоить второй том без первого — для меня вопрос открытый, не уверен в полной невозможности этого, но субъективно я бы этого не советовал. Формальные грамматики тут не требуются.
Для выполнения той части задания, которая описана в четвёртой части методички, нужны C++ и — ага — формальные грамматики. Что посоветовать для их изучения, не знаю; классической книгой в этой области считается двухтомник Ахо-Ульмана, но он по своему объёму раз в десять превышает то, что нужно в этом задании. Собственно говоря, здесь нужны только конечные автоматы для лексического анализа по регулярным грамматикам и метод рекурсивного спуска для синтаксического анализа. Больше ничего не требуется.
ответить
☞ From Vladimir (unverified) Wed Mar 26 16:28:00 2014 UTC
Опечатка
Доброго времени суток,
в электронной версии, стр. 46, описание ?manufactured и ?result_raw_sold одинаковые.
ответить
From admin Fri Mar 28 19:56:37 2014 UTC
Спасибо
Ошибка, в принципе, уже известна, так что, если когда-нибудь дело дойдёт до переиздания этой методички, то в новом варианте ошибка будет исправлена. Пока вроде никто её переиздавать не собирается, увы.
ответить
☞ From Ученик (unverified) Thu Dec 13 17:07:00 2012 UTC
Осознал.
Спасибо за рекомендацию и совет.
ответить
☞ From admin Thu Dec 13 14:47:00 2012 UTC
Для начала
Для начала рекомендую осознать, что перед запятой пробел не ставят, тогда как после запятой пробел обязателен. Кроме того, частица "ли" отделяется пробелом, а не дефисом.
Посоветуйте пожалуйста, какую версию ОС выбрать
Любой Unix, с которым вы сможете справиться. Скачать можно буквально где угодно. Ubuntu, конечно, подходит, и даже в качестве первой системы вполне адекватна, но лучше быть морально готовым к переходу на что-то более программистское. Из Линуксов, по возрастанию сложности, посоветую: Debian (собственно, Ubuntu сделана на основе Debian, но в Debian не так радеют за запудривание пользователю мозга всякими красивостями), Slackware (это уже для сильных духом), Owl (если справитесь с ней, можете идти работать сисадмином), Gentoo и, наконец, Linux From Scratch (после этого можете считать себя познавшим Дао).
2)Для программирования на ассемблере и С++.
Не думаю, что такой набор языков можно считать удачным. Начальному программированию лучше учиться на Паскале, затем обязательно чистый Си (без плюсов), а вот дальше уже можно куда угодно.
3)Для создания многопользовательского игрового сервера.
С этой точки зрения между юниксами вообще нет никакой разницы. Вот разве что вам в голову взбредёт вместо select использовать kqueue, этого вроде в линуксе нет, тогда только FreeBSD :-)
ответить
From LinuxUser (unverified) Thu May 16 11:08:45 2024 UTC
Последовательность
Здравствуйте, Столяров Андрей Викторович!
Данная последовательность дистрибутивов Linux актуальна на 2024 год? :^)
ответить
From Andrey V. Stolyarov Fri May 17 07:40:22 2024 UTC
Re: Последовательность
Я вам такую вещь скажу, когда слышите от кого-то "риторический" вопрос вроде "зачем [whatever] в 20XX году?", всегда помните, что имеете дело с опасным психом, который называется "ньюфаг".
ответить
☞ From Ученик (unverified) Thu Dec 13 02:23:00 2012 UTC
Многопользовательский игровой сервер
Здравствуйте!
Огромное Вам спасибо ,за возможность скачать ,и учиться по книгам.
Посоветуйте пожалуйста, какую версию ОС выбрать и где скачать:
1)Для изучения самой операционной системы.
2)Для программирования на ассемблере и С++.
3)Для создания многопользовательского игрового сервера.
Я немного "знаком" с Ubuntu , подойдет-ли она для интересующих меня целей?
ответить