После выхода из цикла следующая операция чтения приведет к получению байта срочных данных, если была установлена опция SO_OOBINLINE, а если она не установлена, то вернет следующие за этим байтом обычные данные.
Реализация функции sockatmark()
Несмотря на то, что функция sockatmark () определена в стандарте POSIX, она еще не реализована в языке Perl как встроенная функция и даже не вошла в стандартные библиотеки многих операционных систем. Для ее использования необходимо вызвать собственную версию этой функции с применением функции ioctl ().
$result = ioctl($handle,$command,$operand)
Функция ioctl () языка Perl, как и функция fcntf (), принимает в качестве параметров заранее открытый дескриптор файла, целочисленную константу, соответствующую выполняемой команде, и операнд для передачи или получения данных в связи с выполнением этой команды. Формат этого операнда зависит от выполняемой операции. Функция возвращает значение undef, если вызов ioctl () завершается неудачей; в ином случае она возвращает истинное значение.
Для реализации функции sockatmark() необходимо вызвать функцию ioctl () с командой SIOCATMARK, значение константы для которой можно найти в преобразованном файле заголовка, как правило, sys/ioctl.ph. После вызова функции ioctl () операнд заполняется упакованным целочисленным параметром, содержащим 1, если в сокете в настоящее время находится маркер срочных данных, и 0 — в ином случае.
это интересно Развитие информационных технологий и сопутствующих им социальных процессов добавляют в нашу жизнь удобство различных гаджетов и их приложений. Одним из таких элементов являются мобильные телефоны, которые можно найти в широком ассортименте на сайте MOBIT.dp.ua. На полках сайта также представлены различные аксессуары для мобильных телефонов, в том числе и аккумуляторы к ним. Современные аккумуляторные батареи выполнены по новейшим технологиям и способны удерживать заряд гораздо дольше чем их предшественники.