Книга: UNIX: разработка сетевых приложений
Упражнения
Упражнения
1. Что произойдет в листинге 13.2, если мы отложим вызов функции daemon_init
до завершения обработки аргументов командной строки и функция err_quit
будет вызвана до того, как программа станет демоном?
2. Как вы думаете, какие из 10 серверов, перечисленных в табл. 2.1 (учитываются версии TCP и UDP для каждой из пяти служб, управляемых демоном inetd
), реализуются с помощью вызова функции fork, а какие не требуют этой функции?
3. Что произойдет, если мы создадим сокет UDP, свяжем порт 7 с сокетом (стандартный эхо-сервер в табл. 2.1) и отправим дейтаграмму UDP-серверу chargen
?
4. В руководстве Solaris 2.x для демона inetd
описывается флаг -t
, заставляющий демон inetd
вызывать функцию syslog
(с аргументами facility=LOG_DAEMON
и level=LOG_NOTICE
) для протоколирования клиентского IP-адреса и порта любой службы TCP, которые обрабатывает демон inetd
. Как демон inetd
получает эту информацию?
В этом же руководстве сказано, что демон inetd
не может выполнить это для сокета UDP. Почему?
Есть ли способ обойти эти ограничения для служб UDP?