Строки 91-104. Подпрограмма do_urgent(). Подпрограмма do_urgent() обрабатывает сигналы urg; она аналогична подпрограмме с тем же именем в сценарии сервера. Она отбрасывает все, что поступает из сокета, вплоть до байта срочных данных (включая его), и переустанавливает содержимое объекта IO::Getline.
Строки 105-113. Вывод инструкции по использованию программы. Подпрограмма print_usage () выдает краткую сводку команд, которая выводится на экран при каждом вводе пользователем нераспознанной команды.
Проверка сервера генерации пародийных текстов
Для проверки клиента и сервера генерации пародийных текстов запустим Сервер на одном компьютере, а клиент — на другом и в обоих случаях установим константу DEBUG в истинное значение, чтобы можно было видеть отладочные сообщения.
Для первой проверки выгрузим файл chl7.txt с помощью команды analyze и дождемся окончания выгрузки. Затем зададим команду generate 100 для генерации пародии длиной в 100 слов. Следующий этап состоял в проверке того, можно ли прерывать выгрузку. Снова была выполнена команда analyze, но на этот раз клавиша прерывания была нажата до завершения анализа. Это сообщение показывает, что на этот раз из 2658 уникальных слов было обработано только 879, что подтверждает успешное преждевременное прерывание выгрузки. Между тем, на серверной стороне соединения обработчик URG подпрограммы do__urgent () сервера выдавал следующие отладочные сообщения по мере уничтожения всех данных, вплоть до указателя срочных данных.
command = DATA discarding 1024 bytes discarding 1024 bytes discarding 1024 bytes discarding 1024 bytes discarding 531 bytes reading 1 byte of urgent data