Список заданий по теме
"Программирование сетевых задач"
Предполагается, что все задачи выполняются вдвоем.
Можно использовать либо язык Java (предпочтительно),
либо C. Любая задача требует реализации двух программ --
клиента и сервера (либо единой программы, которая может
выступать в роли либо сервера, либо клиента). Сервер
ждет подсоединения от любого удаленного клиента,
клиент инициирует соединение с удаленным сервером.
Номер порта сервера является параметром как сервера,
так и клиента.
Сетевые игры рассчитаны на игру двух людей,
функции программы сводятся только к передаче ходов
(а также сообщений о некорректном ходе и т.п.) и
графическому представлению текущей позиции.
Примерная сложность задачи указывается в скобках
в конце ее условия. Единица соответсвует простейшей
сетевой программе.
-
Реализовать программу "talk" (клиент и сервер),
позволяющую организавать диалог двух пользователей.
Текстовая строка посылается партнеру по нажатию
"Enter". Соединение разрывается при наборе строки,
содержащей один-единственный символ "." (точка) (2).
-
Реализовать пару программ (клиент--сервер), позволяющую
переслать произвольный (бинарный) файл с одной машины
на другую (2).
-
Сетевой "Морской бой" (4).
-
Сетевые шахматы (3).
-
Сетевая игра "Реверси" (4).
-
Сетевые "Крестики-нолики" на бесконечном поле (3).
-
Сетевая игра "Каллах" (4).
-
Сетевая игра "Быки и коровы" (3). (Каждый играющий задумывает
четырехзначное число. Задача -- угадать число соперника. На очередном
ходе игрок предлагает число и получает в ответ число быков и коров,
бык соответствует правильной цифре на своем месте, корова -- цифре,
которая содержится в записи числа, но названа не на своем месте.)
-
Сетевая игра "Го" (5).