- PVSM.RU - https://www.pvsm.ru -
Программы, которые были написаны в прошлых лекциях курса «Сетевое программирование в UNIX», обладали бесконечным запасом терпения, то есть беспрекословно ждали, пока не поступят данные для обработки. В новой лекции вы узнаете, как ограничить терпение программы определенными временными рамками.
Автор курса Александр Патраков [1] рассказывает, как обрабатывать в сетевой программе события, привязанные ко времени, например, таймауты на прием и передачу данных. В случае с блокирующими сокетами все очень просто, с неблокирующими – чуть сложнее.
В случае с неблокирующими сокетами для эффективного вычисления значения таймаута, которое надо передать в функцию select() или ее аналоги, можно применить структуру данных, которая называется «двоичная куча». Другое ее название — «пирамида».
Чтобы узнать, как она работает, смотрите видео.
Слайды доступны здесь [2]
Предыдущие лекции:
1. Курс для тех, кто не боится UNIX и C [3]
2. Каждому клиенту по процессу [4]
3. Реализуем протокол или как работают астрологи [5]
4. О том, как читать до конца [6]
5. Программы в автоматном стиле — трудности перевода [7]
6. Как делать несколько дел одновременно и в то же время по очереди? [8]
7. Эффективное чтение [9]
Автор: AdMonster
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/9618
Ссылки в тексте:
[1] Александр Патраков: http://patrakov.blogspot.com/
[2] здесь: https://docs.google.com/present/view?id=0AYhk_voiXy4JZGZzZGJ6bXJfMTM1aHJmeHp3Z3Y
[3] Курс для тех, кто не боится UNIX и C: http://habrahabr.ru/company/ideco/blog/138322/
[4] Каждому клиенту по процессу: http://habrahabr.ru/company/ideco/blog/138706/
[5] Реализуем протокол или как работают астрологи: http://habrahabr.ru/company/ideco/blog/139926/
[6] О том, как читать до конца: http://habrahabr.ru/company/ideco/blog/143701/
[7] Программы в автоматном стиле — трудности перевода: http://habrahabr.ru/company/ideco/blog/143886/
[8] Как делать несколько дел одновременно и в то же время по очереди?: http://habrahabr.ru/company/ideco/blog/144302/
[9] Эффективное чтение: http://habrahabr.ru/company/ideco/blog/145012/
Нажмите здесь для печати.