Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код |
371815 |
Дата создания |
08 января 2018 |
Страниц |
13
|
Мы сможем обработать ваш заказ (!) 22 ноября в 12:00 [мск] Файлы будут доступны для скачивания только после обработки заказа.
|
Описание
Сетевая игра крестики нолики. Написана на языке C++. Графика реализована с помощью библиотеки ncurses. Отчёт в прикреплённом архиве. ...
Содержание
Сервер
В пространстве имён Server реализованы следующие классы:
Net - реализует работу с сетевым интерфейсом;
Game - хранит сведения о текущем состоянии игры;
User - хранит всю необходимую информацию о пользователе;
Core - адаптер для связи трёх вышеупомянутых классов.
Алгоритм работы класса Net
Конструктор класса Net принимает на вход ip адрес и порт на котором должен работать сервер и порождает два потока: OpenConnection и SendMessage.
В классе Net реализованы следующие методы:
OpenConnection - поток для открытия новых соединений с сервером. Связывает имена пользователей и их дескрипторы и помещает результат в connect_clients (unordered map), а имя клиента помещает в очередь новых клиентов. Затем порождает поток ReadMessage для подключившегося клиента.
ReadMessage - поток для приема входящих сообщений. Создается для каждого клиента. Занимается тем, что помещает пришедшее от клиента сообщение в единую очередь пришедших сообщений.
SendMessage - поток для отправки сообщений пользователям. Занимается тем, что изымает из очереди очередное сообщение, которое необходимо отправить, после чего ищет имя клиента в connect_clients, получает дескриптор соединения и отправляет сообщение.
CloseConnection - закрывает соединение с клиентом.
Send - функция помещает сообщения для клиента в очередь на отправку. В отличии от вышеперечисленных функций входит в интерфейс.
Recv - блокирующая функция, которая возвращает первое пришедшее от клиентов сообщение (входит в интерфейс).
GetNewClientName - блокирующая функция, которая возвращает имя первого клиента находящегося в очереди подключившихся клиентов (входит в интерфейс).
Введение
Суть данного курсового проекта заключается в реализации сетевой игры “Крестики нолики” на языке C++, с интегрированным чатом между пользователями и комнатами игроков. Взаимодействие между клиентами необходимо реализовать посредством системных вызовов, предоставляемых Socket API.
Список литературы
Announcing ncurses 6.0 [Электронный ресурс] / 1998,2000,2004,2005,2006,2008,2011,2015 Free Software Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301, USA Режим доступа: https://www.gnu.org/software/ncurses/ncurses.html, свободный. (Дата обращения: 13.12.2017).
Библиотека ncurses [Электронный ресурс] / Copyright 2005-2006 Бердников Александр Режим доступа: http://alexber220.narod.ru/ncurses/, свободный (Дата обращения: 13.12.2017).
Изучите алгоритмы работы системных вызовов TCP [Электронный ресурс] / Бинду Анупама Режим доступа: https://www.ibm.com/developerworks/ru/library/au-tcpsystemcalls/index.html, свободный (Дата обращения: 10.12.2017).
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00448