Сегодня мы представляем вниманию читателей следующую лекцию курса «Сетевое программирование в UNIX», которую прочитали в Уральском федеральном университете (УрФУ) специалисты компаний SkyDNS и Айдеко. К сожалению, в публикациях произошел вынужденный перерыв. Надеемся, что время ожидания новой лекции вы использовали для реализации сервера и клиента, о которых рассказывали наши специалисты.
Лекция, которую мы решили опубликовать четвертой, посвящена распространенной ошибке в сетевых программах. Суть ее достаточно проста: не обрабатывается ситуация, когда функция recv() возвращает меньше байт, чем ее попросили. На занятии студентам было предложено написать функцию-обертку для корректной обработки такой ситуации. В итоге функция успешно появляется на доске.
Предлагаем читателям проверить эту функцию-обертку самостоятельно путем написания астрологического клиента, который посылает запрос по одной букве в секунду. В помощь также документация по функции sleep().
Хотим отметить, что, в отличие от предыдущих опубликованных лекций, в записи нет слайдов. Вместо них используется обыкновенная доска – на ней появляется всё, что говорят студенты. «Занятие получилось интерактивным – я записывал каждую строчку кода, которую диктовали студенты. Благодаря этому студенты оказались более вовлеченными и лучше усвоили материал, — рассказал Александр Патраков. – Такой вот камень в огород современных технологий».
Предыдущие лекции:
1. Курс для тех, кто не боится UNIX и C
2. Каждому клиенту по процессу
3. Реализуем протокол или как работают астрологи
Автор: AdMonster