Сигнал SIGIO и сокеты UDP
Сигнал SIGIO и сокеты UDP
Использовать ввод-вывод, управляемый сигналом, с сокетами UDP довольно легко. Сигнал генерируется в следующих случаях:
? на сокет прибывает дейтаграмма;
? на сокете возникает асинхронная ошибка.
Таким образом, когда мы перехватываем сигнал SIGIO для сокета UDP, вызывается функция recvfrom как для чтения дейтаграммы, так и для получения асинхронной ошибки. Асинхронные ошибки, касающиеся UDP-сокетов, обсуждались в разделе 8.9. Напомним, что эти сигналы генерируются, только если сокет UDP является присоединенным (создан с помощью вызова функции connect).
ПРИМЕЧАНИЕ
Сигнал SIGIO генерируется для этих двух условий путем вызова макроса sorwakeup, описываемого в книге [128, с. 775, с. 779, с. 784].
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Перекрывающиеся сокеты
Перекрывающиеся сокеты Одним из наиболее важных нововведений в Windows Sockets 2.0 (глава 12) является стандартизация перекрывающегося ввода/вывода. В частности, сокеты уже не создаются автоматически как дескрипторы файлов с перекрытием. Функция socket создает неперекрывающийся
Сигнал, импульс или поток?
Сигнал, импульс или поток? Оставим пока на время варианты CLOCK_SOFTTIME и CLOCK_MONOTONIC, поскольку они еще пока (на момент написания книги — прим. ред.) не реализованы. Втором параметром является указатель на структуру struct sigevent. Эта структура применяется для того, чтобы сообщить ядру
Стоп-сигнал
Стоп-сигнал Очень важно, чтобы тесты непрерывной интеграции все время проходили успешно. Они никогда не должны завершаться отказом. В случае отказа вся группа прекращает заниматься текущими делами и направляет все усилия на то, чтобы обеспечить успешное прохождение
Сокеты
Сокеты Сокеты предназначены для взаимодействия между процессами. Интерфейс сокетов часто используется для доступа к сети TCP/IP. В системах, ветви BSD UNIX на базе сокетов реализована система межпроцессного взаимодействия, с помощью которой работают многие системные сервисы,
5.13. Сигнал SIGPIPE
5.13. Сигнал SIGPIPE Что происходит, если клиент игнорирует возвращение ошибки из функции readline и отсылает следующие данные серверу? Это может произойти, если, например, клиенту нужно выполнить две операции по отправке данных серверу перед считыванием данных от него, причем
Тайм-аут для функции connect (сигнал SIGALRM)
Тайм-аут для функции connect (сигнал SIGALRM) В листинге 14.1[1] показана наша функция connect_timeo, вызывающая функцию connect с ограничением по времени, заданным вызывающим процессом. Первые три аргумента — это аргументы, которых требует функция connect, а четвертый — это длительность
Тайм-аут для функции recvfrom (сигнал SIGALRM)
Тайм-аут для функции recvfrom (сигнал SIGALRM) В листинге 14.2 показана новая версия функции dg_cli, приведенной в листинге 8.4, в которую добавлен вызов функции alarm для прерывания функции recvfrom при отсутствии ответа в течение 5 с.Листинг 14.2. Функция dg_cli, в которой при установке тайм-аута
Сигнал SIGIO и сокеты UDP
Сигнал SIGIO и сокеты UDP Использовать ввод-вывод, управляемый сигналом, с сокетами UDP довольно легко. Сигнал генерируется в следующих случаях:? на сокет прибывает дейтаграмма;? на сокете возникает асинхронная ошибка.Таким образом, когда мы перехватываем сигнал SIGIO для
25.3. Эхо-сервер UDP с использованием сигнала SIGIO
25.3. Эхо-сервер UDP с использованием сигнала SIGIO В этом разделе мы приведем пример, аналогичный правой части рис. 25.1: UDP-сервер, использующий сигнал SIGIO для получения приходящих дейтаграмм. Этот пример также иллюстрирует использование надежных сигналов стандарта POSIX.В данном
13.9.1 Сигнал синхронизации
13.9.1 Сигнал синхронизации Для некоторых функций (например, Interrupt Process) включение команды в общий поток данных не приводит к нужным результатам. Когда реальный терминал посылает сигнал прерывания, хост операционной системы получает этот сигнал сразу и быстро останавливает
12.3. Отношение сигнал-шум
12.3. Отношение сигнал-шум Следующее, что нам предстоит определить, - отношение сигнал/шум при выходной мощности 1 Вт и сопротивлении нагрузки 8 Ом. Для этого амплитуда выходного напряжения должна составлять 4 В, что соответствует амплитуде входного напряжения, равной
7.2.6.5. Сокеты
7.2.6.5. Сокеты Сокеты (sockets) были разработаны в BSD-ветви Unix как способ инкапсуляции доступа к сетям данных. Две программы, осуществляющие обмен данными через сокет, обычно используют двунаправленный поток байтов (существуют и другие режимы сокетов и методы передачи, но они
7.2.6.5. Сокеты
7.2.6.5. Сокеты Сокеты (sockets) были разработаны в BSD-ветви Unix как способ инкапсуляции доступа к сетям данных. Две программы, осуществляющие обмен данными через сокет, обычно используют двунаправленный поток байтов (существуют и другие режимы сокетов и методы передачи, но они
Промзона: Проецируемый аварийный сигнал Николай Маслухин
Промзона: Проецируемый аварийный сигнал Николай Маслухин Опубликовано 06 октября 2010 года Одним из проектов, получивших награду на немецком конкурсе iF Concept Design 2010, стала работа дизайнеров Чунь-Чех Чана и Вань-Хуа Цая. Авторы использовали столь часто
Основные понятия, определяющие акустический сигнал
Основные понятия, определяющие акустический сигнал Для правильного понимания проблем обработки звука необходимо различать первичные и вторичные акустические сигналы. К первичным относятся сигналы, создаваемые музыкальными инструментами, пение, речь, а также шумовые