Основы программирования в Linux
Шрифт:
Тот факт, что исходный сокет все еще доступен, и что сокеты ведут себя как файловые дескрипторы, дает нам метод одновременного обслуживания многих клиентов. Если сервер вызовет функцию
Поскольку вы создаете дочерние процессы, но не ждете их завершения, следует сделать так, чтобы сервер игнорировал сигналы
1. Программа server4.c начинается так же, как последний рассмотренный сервер с важным добавлением директивы
2. Создайте очередь соединений, игнорируйте подробности завершения дочернего процесса и ждите запросов клиентов:
3. Примите запрос на соединение:
4. Вызовите
5. Если вы потомок, то можете читать/писать в программе-клиенте на сокете
6. В противном случае вы должны быть родителем и ваша работа с данным клиентом закончена:
Код включает пятисекундную задержку при обработке запроса клиента для имитации вычислений сервера или обращения к базе данных. Если бы вы проделали это в предыдущем сервере, каждое выполнение программы client3 заняло бы пять секунд. С новым сервером вы сможете обрабатывать множественные клиентские программы client3 параллельно с общим затраченным временем, чуть превышающим пять секунд.
Андер Арес
1. Андер Арес
Фантастика:
рпг
аниме
фэнтези
фантастика: прочее
рейтинг книги
Первый среди равных. Книга X
10. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
рейтинг книги
Газлайтер. Том 29
29. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
рейтинг книги
Бездна
102. Книга-загадка, книга-бестселлер
Детективы:
триллеры
рейтинг книги
Влечение
1. Пленники сумерек
Любовные романы:
современные любовные романы
рейтинг книги
Князь Андер Арес 4
4. Андер Арес
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
попаданцы
рейтинг книги
Инженер Петра Великого 3
3. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2
Компьютеры и Интернет:
программирование
рейтинг книги