Дальше: Источники Вверх: socket Назад: Приложение B. Реализация протокола

Приложение C. Практические задания

  1. Напишите программу, которая занимает заданный порт TCP, ожидает установления соединения, принимает данные, переводит все символы латинского алфавита в верхний регистр и отправляет данные обратно.
  2. Напишите программу, которая занимает заданный порт UDP, принимает пакет, содержащий имя хоста, переводит имя в IP адрес и отправляет обратно этот адрес в виде текстовой строки.
  3. Напишите программу, которая при запуске занимает произвольный порт UDP, запрашивает имя пользователя, а затем принимает вводимые пользователем строки, добавляет в их начало имя пользователя и широковещательно рассылает на порт 5400 UDP.
  4. Напишите программу, которая занимает порт 5400 UDP, принимает пакеты и выводит их содержимое на экран.
  5. Напишите программу, которая запрашивает у пользователя IP адрес, номер порта и строку текста, отправляет строку по указанному адресу, используя протокол UDP, ожидает поступления ответа и выводит его на экран. Если в течение 5 сек. ответ не получен, то программа начинает своё выполнение сначала.
  6. Напишите программу, которая ожидает установления соединения на заданном порту TCP, принимает поступающие данные и сохраняет их в файле, имя которого определяется IP адресом и номером порта клиента.
  7. Напишите программу, которая запрашивает у пользователя IP адрес, номер порта и имя файла, устанавливает TCP соединение с указанным адресом, и передает заданный файл.
  8. Напишите программу, которая при запуске устанавливает TCP соединение с заданным сервером и открывает в пассивном режиме заданный порт TCP. После подключения к этому порту клиента, программа в цикле принимает данные от клиента, передаёт их серверу, получает ответ сервера и возвращает его клиенту. После отключения клиента программа должна завершиться.
  9. Напишите программу, которой в качестве аргументов передаются IP адрес хоста и диапазон портов. Программа должна вывести номера открытых портов TCP из указанного диапазона.
  10. Напишите программу, которой в качестве аргументов передаются IP адрес хоста и диапазон портов. Программа должна вывести номера открытых портов UDP из указанного диапазона. Для обнаружения открытого порта UDP следует установить с ним соединение при помощи функции connect и отправить данные. Если порт закрыт, то при повторной попытке отправить данные функция send завершится с ошибкой, код ошибки ECONNREFUSED будет помещён в переменную errno.



Zwon
2002-03-24