Заключительная лекция курса «Сетевое программирование в UNIX», который подготовили специалисты SkyDNS и компании «Айдеко», получилась многогранной.
На лекции были рассмотрены две основных темы. Марк Коренберг («Айдеко») и Александр Патраков (SkyDNS) рассказали, как простыми модификациями можно ускорить работу цикла обработки событий и объяснили, как пользоваться флагом EPOLLET.
Студенты узнали, как выбрать между моделями, основанными на блокирующих сокетах и на цикле обработки событий. А также получили представление о «гибридной» модели, которая позволяет «съесть» более 100% процессорного времени и при этом не израсходовать много памяти, обрабатывая множество параллельных соединений.
На этом мы заканчиваем нашу серию постов о курсе «Сетевое программирование в UNIX». К сожалению, в течение курса не все запланированные темы были освещены, хотя студенты и проявляли к ним интерес. Остались непрочитанными такие темы, как организация прозрачных прокси, вопросы авторизации, работа с SSL, «сырые» сокеты.
С этими темами вы можете ознакомиться самостоятельно. Александр рекомендует к прочтению следующие книги:
Unix Network Programming: The Sockets Networking Api, Том 1
Авторы: W. Richard Stevens, Bill Fenner, Andrew M. Rudoff
серия «TCP/IP Illustrated»
Авторы: W. Richard Stevens, Gary R. Wright
Applied Cryptography
Автор: Bruce Schneier
Cryptography and Network Security Principles and Practices
автор: William Stallings
Надо понимать, что не все вопросы сетевого программирования являются фундаментальными. Такие вопросы, как организация прозрачных прокси и изменение настроек сетевых адаптеров, слишком специфичны для конкретной операционной системы и поэтому не являются «книжным» материалом. Информацию по подобным вопросам лучше получать из man-страниц.
Ждем ваших вопросов по всему курсу «Сетевое программирование в UNIX». Наши специалисты готовы ответить на них в группе, посвященной курсу.
Слайды доступны тут.
Предыдущие лекции:
1. Курс для тех, кто не боится UNIX и C
2. Каждому клиенту по процессу
3. Реализуем протокол или как работают астрологи
4. О том, как читать до конца
5. Программы в автоматном стиле — трудности перевода
6. Как делать несколько дел одновременно и в то же время по очереди?
7. Эффективное чтение
8. Как сделать программу нетерпеливой?
9. Как решить проблему 10 000 соединений?
Автор: AdMonster