Реферат по предмету "Коммуникации и связь"


Сетевые крестики нолики

ОТЧЕТ о практической работе по дисциплине «Сети ЭВМ» Факультет: математический Выполнила: Насибулина Раиса Сулеймановна Специальность: прикладная Группа: МП-402 математика Кафедра: системного Проверил: Соколов Андрей Анатольевич программирования Челябинск 2007 Содержание 1. ЗАДАНИЕ. 2. ИСПОЛЬЗУЕМЫЕ

СЕТЕВЫЕ СООБЩЕНИЯ. 3. ОСНОВНЫЕ ФУНКЦИИ ПРОГРАММЫ. 4. ПРОЦЕССЫ. 7 ДИАГРАММЫ: 5. ТЕКСТ ПРОГРАММЫ. 1. Задание. Разработать приложения клиент и сервер для сетевой игры «Крестики нолики»с использованием UDP протокола. Клиент «активный», сервер «пассивный». 2. Используемые сетевые сообщения. Каждый отправляемый программой пакет имеет идентификатор вида пакета

и само сообщение. В программе использованы следующие 5 видов пакетов: 1) пакет «информация о карте». В его сообщении содержатся карта игры. При ходе одной стороны передается новая карта и номер хода /Info (i)/. 2) пакет «подтверждение хода». Сообщение содержит те же данные, что и в 1). отправляется при изменении одной координаты /Info (r)/. 3) пакет «установка и проверка соединения»

Установка соединения с сервером и его проверка /Connect/. 4) пакет «ожидание, соединение и проверка». Ожидание соединения, при соединении периодическая проверка соединения /Ping (r)/. 5) пакет «запрос на получение информации от сервера» /Info (r)/. Пакеты 1). – 5). имеют следующий формат. union packd { char buff[63]; // buffer struct pack p; // данные }; где struct pack{ char action, step; // тип пакета, номер шага char matr[4][4]; // карта } ar;

3. Основные функции программы. • void initme(){; //Инициализация клиентского и серверного сокетов. • void ServerStop(HWND hWnd) //Освобождение ресурсов, завершение нитей, закрытие сокетов. • bool clientconnect(HWND hWnd) //Создание нити соединения клиента с сервером. • void startserv(HWND hWnd) //Запуск сервера. Запуск нити для работы с клиентом, проверка наличия связи с клиентом. • void putplus(HWND hWnd, char flag,char i, char j) //Принятие хода клиента, отправка карты серверу (или клиенту). //Параметр flag

имеет следующие значения: // PLUS – крестик, ZERO – нолик. // (i,j) – координаты хода. • DWORD WINAPI ThreadAction_cl(LPVOIINAPI ThreadAction_serv(LPVOID param) //нити клиента и сервера. Проверяют наличие друг друга (клиента и сервера) При получении информации о ходе – обновляется карта и посылается подтверждение. • DWORD WINAPI ThreadAction_put(LPVOID param) //Нить для отправки информации

о ходе сопернику. Производит периодическую отправку информации о ходе до получения подтверждения о ходе. • void drawme(HWND hWnd) //перерисовка карты в случае хода или получения информации. • CHAR * get_error_text(int code) • void err(char * pl) // выдача сообщений об ошибках. • int testnew(pack st, pack nd) // проверка целостности информации из пакета (сравнение прошлой и текущей карт при получении информации. При отличии карты на одну координату происходит отправка подтверждения и обновление карты

игрока). 4. Процессы. В процессе работы периодически проверяется наличие связи между клиентом и сервером (пакеты типа 3 и 4). При ходе игрока отправляется информация о ходе до получения подтверждения. При отсутствии подтверждения (в рамках определенного времени – timeout на подтверждение) отправка информации повторяется периодически до получения подтверждения. Случайная потеря или повреждение пакета не приведет к некорректности работы т.к. осуществляется проверка

целостности данных. Программа завершает работу по команде пользователя или при timeout-е.



Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.