Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Praktika2.doc
Скачиваний:
1
Добавлен:
01.05.2019
Размер:
184.32 Кб
Скачать

6Сетевое программирование

  1. Создайте приложение, позволяющее узнать задержки сети. Приложение посылает эхо-серверу некоторую строку. Копия этой строки возвращается обратно и фиксируется время прохождения этого запроса.

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

  3. Создайте приложение «Игра в города». Игроки по очереди называют города. Осуществлять автоматическую проверку соответствия сообщений игроков правилам игры.

  4. Создайте приложение, реализующее статистическую обработку текста. Приложение-сервер подсчитывает частоту появления каждого символа в полученном тексте и посылает эту информацию клиенту.

  5. Создайте приложение, реализующую пересылку файлов между компьютерами. После установки соединения любое из двух приложений может инициировать процесс отправки файла. Если готовность принять файл подтверждается, то производить пересылку. Имя полученного файла также должно быть передано.

  6. Создать игру в шашки между клиентом и сервером. У клиента и у сервера на формах созданы доски с шашками. Клиент и сервер поочерёдно обмениваются ходами, после которых положения на досках с шашками изменяются у клиента и у сервера. Серверу известны правила игры, и он не позволяет делать неправильные ходы или вне очереди. По окончании игры результат сообщается клиенту с предложением начать новую игру.

  7. Создать карточную игру в очко между клиентом и сервером. Сервер тасует колоду карт. По запросу клиенту выдаётся карта из верха колоды, которая изображена на форме клиента. В случае необходимости клиент запрашивает нужное число карт у сервера, после того как клиент предлагает серверу взять карты себе сервер отбирает себе карты с того же верха колоды. Когда сервер прекратит брать себе карты, то подсчитывается количество очков у клиента и у сервера и объявляется результат игры с предложение начать новую игру. Карты клиента изображаются внизу формы, а карты сервера – сверху. Сервер берёт себе карты до тех пор, пока его количество очков не превзойдет набранную сумму клиента. В случае равенства очков победа присваивается серверу. Подсчёт количества набранных очков ведётся по известным правилам.

  8. Организовать проверку знаний таблицы умножения. По запросу клиента сервер выдаёт случайным образом два числа, которые высвечиваются в разных полях ввода «Edit» между которыми стоит знак умножения. Результат умножения заносится в третье поле ввода «Edit», перед которым стоит знак равенства. После окончания ввода значения произведения, результат отправляется серверу по нажатию соответствующей кнопки (например, «Ответ»). Если ответ правильный, то сервер передаёт текстовое сообщение: «Ответ такой-то. Вы прекрасный математик!», в противном случае: «Ответ такой-то. Вы немного забыли таблицу умножения».

  9. Организовать проверку знаний на сложение и вычитание двухзначных чисел. Порядок выполнения аналогичен предыдущему варианту.

  10. Создать простое приложение для работы с базой данной. На сервере хранится небольшой телефонный справочник в виде отдельного файла. По запросу клиента выдаётся номер телефона по Ф.И.О. абонента, либо его Ф.И.О. по соответствующему номеру телефона. Результаты запроса высвечиваются в соответствующих полях ввода «Edit» (например «Телефон» и «Ф.И.О.»). Если в телефонном справочнике на сервере нет сведений по номеру либо по «Ф.И.О» абонента, то в соответствующем поле ввода появляется сообщение об отсутствии данных по данному запросу.

  11. Создать игру в морской бой между клиентом и сервером. На сервере случайным образом выставляются корабли на сетке размером 10х10. Клиент самостоятельно волен выставлять свою эскадру на сетке того же размера, но в соответствии с общепринятыми правилами. Клиент и сервер поочерёдно обмениваются координатами артобстрела. Результаты игры высвечиваются на экране клиента, на котором видна вся флотилия. На экране сервера высвечиваются только результаты игры. Если клиент промахнулся, то клетка закрашивается чёрным цветом, в случае попадания красным цветом. Предполагается, что сервер обладает некоторым интеллектом: в течении одной игры не повторяет ходы, если попал в корабль клиента, то продолжает обстрел вокруг места попадания, отступает одну клетку от затопленного корабля клиента и не позволяет делать ходы не по правилам. После того как подбиты все корабли у клиента или сервера последний сообщает об окончании игру и о победителе.

  12. Создать игру в кости между клиентом и сервером. На стороне сервера и клиента случайным образом выпадают три кости (цифры) от 0 до 6. Сумма выпавших костей клиента передаётся клиентом серверу, который сравнивает суммы костей клиента и свою. Результат игры сообщается клиенту с предложением продолжить игру.

  13. Организовать проверку знаний по русскому языку. По запросу клиента сервер отправляет некоторый текст, в котором необходимо вставить пропущенные буквы. После того как упражнение по русскому языку выполнено оно отправляется на сервер. Сервер по результатам проверки знаний по русскому языку выставляет оценку клиенту. Оценка отправляется клиенту, при этом, в случае успешной сдачи теста, клиента подбадривают. Если же оценка неудовлетворительно, то советуют клиенту подучить соответствующие правила по орфографии. В качестве задания клиенту можно выбрать проверку знаний на падежные окончания имён существительных и прилагательных разных склонений. Для простоты выставления оценки можно выбрать количество падежных окончаний равным десяти и выставлять оценку в десятибалльной шкале. Если баллов меньше пяти, то оценка неудовлетворительная.

  14. Отслеживание активности сетевых приложений. Клиент посылает на сервер некоторое текстовое сообщение, например – alive, с определённым интервалом времени. Сервер пока принимает это сообщение считает, что клиент активен. Если спустя определённый интервал времени не пришло сообщение от клиента, то на форме сервера гаснет некоторый индикатор активности клиента или всплывает текстовое сообщение о прекращении работы клиента.

  15. Реализовать программный код игры «общая доска» между двумя компьютерами по протоколу UDP/IP. При посылке с одного компьютера на другой любого рисунка, второй его добавляет и отсылает обратно.

  16. Сетевая игра «крестики-нолики». Игровое поле – сетка nхn клетки. Два игрока поочередно делают ходы. Реализовать соблюдение следующих правил: ход можно делать только в порядке очереди, выбор знака(крестик или нолик) осуществляется вначале игры и невозможность его изменения в ходе игры, выигрышные комбинации стандартные – подряд три одинаковых знака по горизонтали, вертикали и диагонали. Предусмотреть возможность ведение счета.

  17. Сетевая игра «камень, ножницы, бумага». Два игрока выбирают одну из позиций – «камень», «ножницы», «бумага». Организовать обязательное одновременное появление на экране выбранных игроками позиций. Предусмотреть возможность ведения счета по результатам проведенных партий.

  18. Сетевая игра в шахматы. В игре участвуют два игрока. Организовать возможность только поочередных ходов. Предусмотреть функцию «отменить ход». При проигрыше игроком фигуры – удалять ее с игрового поля. Предусмотреть возможность ведения счета выигранных фигур.

  19. Сетевая игра в шашки. В игре участвуют два игрока. Организовать возможность только поочередных ходов. Предусмотреть функцию «отменить ход». Предусмотреть возможность ведения счета выигранных шашек.

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

  21. Сетевая игра нарды.

  22. Сетевая игра «Монополия»

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]