Лабораторная работа № 8
Сетевое программирование с
использованием сокетов
Цель:
Разработать клиент-серверное приложение с использованием библиотеки Windows Sockets 2.
Оборудование
и ПО:
ПК, Visual Studio.
Содержание
отчёта:
Отчёт представить в виде архивного файла, содержащего проект готового приложения
(клиентскую и серверную часть) и документ MS
Word
Фамилия-лаб8.docx.
Задачи:
1. Ознакомиться с технологией сетевого взаимодействия
приложений посредством технологии Socket. Изучить основные функции интерфейса сокетов.
2. Написать приложение, реализующее задание своего
варианта.
3. Отладить написанное приложение на локальной машине и
проверить его работоспособность в локальной сети.
4. В отчете к лабораторной работе отразить ход выполнения
работы, привести текст основных программных функций, ответить на контрольные
вопросы.
Ход работы:
1. Познакомиться
с примерами клиент-серверных приложений, использующих Windows Sockets 2,
можно по следующим ссылкам: TCP
клиент и сервер, UDP
клиент и сервер.
2. Варианты клиент серверных приложений указаны в таблице 8.1.
3. Контрольные вопросы:
3.1. Укажите
минимальный набор функций сервера WinSock
(перечислить)
3.2. Какой адрес используется в случае локального сервера?
(IP
и символьное имя)
3.3. Объясните
принцип модели асинхронной передачи (асинхронных сокетов) с использованием
VSAAsyncSelect.
Таблица
8.1
Задание | |
1 |
Реализовать сетевую игру «Камень, ножницы, бумага». Ведение
счета по результатам проведенных партий осуществляется на стороне сервера.
На стороне клиента предусмотреть получение результатов от
сервера. |
2 |
Реализовать сетевую игру «Города» (количество клиентов: 2 и
более). На стороне сервера осуществлять автоматическую проверку
соответствия сообщений игроков правилам
игры. |
3 |
Реализовать сетевую игру «Крестики-нолики» (количество
клиентов: 2 и более). Проверку соответствия сообщений игроков правилам
игры реализовать на стороне
сервера. |
4 |
Реализовать сетевую игру «Быки и коровы» (количество
клиентов: 2 и более). Ведение счета по результатам проведенных партий
осуществляется на стороне
сервера. |
5 |
Реализовать сетевую игру «Морской бой» (количество клиентов:
2 и более). Ведение счета по результатам проведенных партий осуществляется
на стороне сервера. |
6 |
Реализовать сетевую игру «Виселица» (количество клиентов: 2 и
более). Ведение счета по результатам проведенных партий осуществляется на
стороне сервера. |
7 |
Реализовать сетевую игру «Быки и коровы» (с выбором, кто из
игроков является сервером, а кто клиентом). Ведение счета по результатам
проведенных партий осуществляется на стороне сервера и
клиента. |
8 |
Реализовать сетевую игру «Морской бой» (с выбором, кто из
игроков является сервером, а кто клиентом). Ведение счета по результатам
проведенных партий осуществляется на стороне сервера и
клиента. |
9 |
Реализовать сетевую игру «Крестики-нолики» (с выбором, кто из
игроков является сервером, а кто клиентом). Проверку соответствия
сообщений игроков правилам игры реализовать на стороне сервера и
клиента. |