Третье ограничение создает больше всего сложностей. Если процесс-получатель вызовет функцию recv () с флажком MSG_OOB до поступления срочных данных, то этот вызов завершится аварийно с ошибкой EWOULDBLOCK. Вместо этого можно просто игнорировать срочные данные или выполнить одну или несколько обычных операций, чтения до того, как поступят срочные данные. Объем работы, необходимый для реализации последнего варианта, немного сокращается благодаря тому, что функции sysread () автоматически останавливается на границе указателя срочных данных. Примеры применения этого свойства указанной функции будут рассматриваться ниже.
Применение срочных данных TCP
В настоящем разделе описывается пара программ клиент/сервер для иллюстрации основных принципов использования срочных данных. Клиент подключается к серверу по протоколу TCP и отправляет поток строк, содержащих обычные несрочные данные, выдерживая небольшую паузу после каждой строки. Сервер считывает строки и выводит их на стандартное устройство вывода.
Сложности начинаются после того, как клиентская программа перехватывает события, связанные с нажатием клавиши прерывания (), и отправляет один байт срочных данных, содержащий символ “!”. Сервер получает срочные данные после их поступления и выводит предупреждающее сообщение об этом.
Вначале рассматривается клиентская программа.
2015-01-26 10:52:02
это интересно Частенько в быту и в хозяйстве нам не хватает упаковочных или защитных материалов. Выход достаточно прост - купить на сайте http://plenka-orel.ru/ стрейч пленку цена которой очень привлекательна. Также на сайте представлена и другая продукция предприятия по низким ценам. Новинкой сезона являются пaкeты и мeшки для шин и кoлec, которые так необходимы любому автовладельцу.