Основы программирования в Linux
Шрифт:
Тот факт, что исходный сокет все еще доступен, и что сокеты ведут себя как файловые дескрипторы, дает нам метод одновременного обслуживания многих клиентов. Если сервер вызовет функцию
Поскольку вы создаете дочерние процессы, но
1. Программа server4.c начинается так же, как последний рассмотренный сервер с важным добавлением директивы
2. Создайте очередь соединений, игнорируйте подробности завершения дочернего процесса и ждите запросов клиентов:
3. Примите запрос на соединение:
4. Вызовите
5. Если вы потомок, то можете читать/писать в программе-клиенте на сокете
6. В противном случае вы должны быть родителем и ваша работа с данным клиентом закончена:
Код включает пятисекундную задержку при обработке запроса клиента для имитации вычислений сервера или обращения к базе данных. Если бы вы проделали это в предыдущем сервере, каждое выполнение программы client3 заняло бы пять секунд. С новым сервером вы сможете обрабатывать множественные клиентские программы client3 параллельно с общим затраченным временем, чуть превышающим пять секунд.
Избранные произведения в 2-х томах. Том 1
Проза:
роман
советская классическая проза
рейтинг книги
В лапах зверя
1. Звериные повадки Симоновых
Любовные романы:
остросюжетные любовные романы
эро литература
рейтинг книги
Точка Бифуркации IV
4. ТБ
Фантастика:
героическая фантастика
городское фэнтези
попаданцы
рейтинг книги
Диверсанты Сталина: НКВД в тылу врага
Силы особого назначения
Документальная литература:
биографии и мемуары
рейтинг книги
Верная Рука
Виннету
Приключения:
приключения про индейцев
рейтинг книги
Рапсодия в тумане
Проза:
современная проза
рейтинг книги
Ветхий Завет. Перевод и комментарии
Религия и эзотерика:
прочая религиозная литература
рейтинг книги