Настало время для седьмой лекции курса «Сетевое программирование в UNIX», подготовленного специалистами SkyDNS и компании «Айдеко». Автор курса Александр Патраков объясняет студентам, как ускорить чтение небольших порций данных из сокета.
В четвертой лекции Александр рассказал, что делать, если функция recv() возвращает меньше байт, чем ее попросили (в условиях, когда известно, сколько байт нужно прочитать). Случаи, когда нужно читать до разделителя (это имеет место в протоколах типа http), рассматривались вскользь.
«В четвертой лекции предлагался самый простой вариант решения задачи о чтении до разделителя – читать по одному байту в цикле. Это ведет к неоправданным затратам процессорного времени», — поясняет Александр Патраков.
Хотите знать, как избежать нерационального чтения по одному байту? Смотрите лекцию!
Слайды доступны здесь
Предыдущие лекции:
1. Курс для тех, кто не боится UNIX и C
2. Каждому клиенту по процессу
3. Реализуем протокол или как работают астрологи
4. О том, как читать до конца
5. Программы в автоматном стиле — трудности перевода
6.Как делать несколько дел одновременно и в то же время по очереди?