2.2.6. Пример сервера, основанного на сообщениях
Данный текст является ознакомительным фрагментом.
Данный текст является ознакомительным фрагментом.
8.10. Итоговый пример клиент-сервера UDP На рис. 8.5 крупными черными точками показаны четыре значения, которые должны быть заданы или выбраны, когда клиент отправляет дейтаграмму UDP. Рис. 8.5. Обобщение модели клиент-сервер UDP с точки зрения клиентаКлиент должен задать IP-адрес
12.5.5. Журнал Web-сервера Сервер Apache хранит свои журналы в файлах access.log и error.log, которые расположены в директории /var/log/httpd. Эти журналы позволяют узнать об активности и доступе пользователей.С другой стороны, журналы текстовые и легко читаемые. Любой хакер может просмотреть
2.2.5. Асинхронный режим, основанный на сообщениях Все операции с сокетами, которые мы рассматривали раньше, являлись синхронными. Программа, использующая такие сокеты, должна сама время от времени проверять тем или иным способом, пришли ли данные, установлена ли связь и
11.4.3. Запуск сервера Для запуска сервера достаточно ввести в командной строке имя server. Если не задать номер порта с помощью опции --port (-p). ОС Linux самостоятельно выберет порт. При указании опции --verbose (-v) сервер покажет, какой порт ему назначен.Если не назначить серверу адрес с
Тестирование сервера Обычно первое, что вы захотите сделать после завершения инсталляции, - это проверить обращение к серверу. Это даст вам реальную возможность убедиться, что ваша клиентская машина может видеть хост в вашей сети. Предположим, что IP-адрес вашего сервера в
Останов сервера Останов сервера- операция, которая по-разному воздействует на Суперсервер и Классический сервер.СуперсерверЩелкните правой кнопкой мыши по иконке Guardian или сервера и выберите в контекстном меню Shutdown (Остановить). Если выполняется Guardian, то сначала он
Пример 9-3. Еще один пример ограничения времени ожидания ввода от пользователя #!/bin/bash# timeout.sh# Автор: Stephane Chazelas,# дополнен автором документа.INTERVAL=5 # предел времени ожиданияtimedout_read() { timeout=$1 varname=$2 old_tty_settings=`stty -g` stty -icanon min 0 time ${timeout}0 eval read $varname # или просто read $varname
Пример 10-27. Простой пример сравнения строк #!/bin/bash# match-string.sh: простое сравнение строкmatch_string (){ MATCH=0 NOMATCH=90 PARAMS=2 # Функция требует два входных аргумента. BAD_PARAMS=91 [ $# -eq $PARAMS ] || return $BAD_PARAMS case "$1" in "$2") return $MATCH;; * ) return $NOMATCH;; esac}a=oneb=twoc=threed=twomatch_string $a # неверное число
Пример 12-20. Пример форматирования списка файлов в каталоге #!/bin/bash# За основу сценария взят пример "man column".(printf "PERMISSIONS LINKS OWNER GROUP SIZE DATE TIME PROG-NAME " ; ls -l | sed 1d) | column -t# Команда "sed 1d" удаляет первую строку, выводимую командой ls,#+ (для локали "С" это строка: "total N",#+ где "N" -- общее
Пример 12-45. Пример работы с m4 #!/bin/bash# m4.sh: Демонстрация некоторых возможносией макропроцессора m4# Строкиstring=abcdA01echo "len($string)" | m4 # 7echo "substr($string,4)" | m4 # A01echo "regexp($string,[0-1][0-1],&Z)" | m4 # 01Z# Арифметикаecho "incr(22)" | m4 # 23echo "eval(99 / 3)" | m4 #
Пример 24-2. Еще один пример проверки аргументов с помощью "И-списков" #!/bin/bashARGS=1 # Ожидаемое число аргументов.E_BADARGS=65 # Код завершения, если число аргументов меньше ожидаемого.test $# -ne $ARGS && echo "Порядок использования: `basename $0` $ARGS аргумент(а)(ов)" && exit $E_BADARGS# Если
Пример 25-8. Пример реализации алгоритма Решето Эратосфена #!/bin/bash# sieve.sh# Решето Эратосфена# Очень старый алгоритм поиска простых чисел.# Этот сценарий выполняется во много раз медленнее# чем аналогичная программа на C.LOWER_LIMIT=1 # Начиная с 1.UPPER_LIMIT=1000 # До 1000.# (Вы можете