ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Операции ввода-вывода на сетевом уровне. Часть Седьмая.


28-12-2009

integer socket_recvfrom(resource socket, string buffer, integer length, string host, integer port)
Функция socket_recvfrom считывает данные в указанный буфер. Аргумент length устанавливает в байтах максимальное количество принимаемых данных. Аргумент flags принимает значение MSG_OOB или MSG_PEEK. PHP задает в аргументах host и port соответствующие значения, идентифицирующие узел, отправляющий данные.
boolean socket_recvmsg(resource socket, resource iovector, array control, integer length, integer flags, string host, integer port)
Функция socket_recvmsg считывает данные из сокета в векторный ресурс ввода-вывода. PHP задает аргумент control, который представляет собой ассоциативный массив и состоит из трех элементов: cmsg_level, cmsg_type и cmsg_data. Аргументом length задается длина дополнительных данных (в байтах). Аргумент flags принимает и возвращает значения. В то время, когда писалась эта книга, PHP еще не использовал всех выходных констант. За справкой обратитесь к man-странице функции recvmsg.
В аргументах host и port задаются соответствующие значения для узла, отправляющего данные.
integer socket_select(array read, array write, array exception, integer timeout_seconds, integer timeout_microseconds)
Функция socket_select контролирует изменения, происходящие на узлах. PHP про­сматривает поступление новых данных на сокетах, заданных в массиве read. PHP просматривает готовность к приемке новых данных в потоках, заданных в массиве write. PHP просматривает на наличие ошибок потоки, заданные в аргументе exception. По истечении времени, указанного в секундах в аргументе timeout_ seconds, функция возвращает значение. В аргументе timeout_microseconds задается тайм-аут меньше одной секунды.
Функция socket_select возвращает количество сокетов, изменивших свое состояние, или значение FALSE, если возникла ошибка. При тайм-ауте вызова эта функция возвращает значение, равное нулю. Она также модифицирует заданные массивы таким образом, чтобы они содержали только сокеты, в которых произошли изменения.
В случае отсутствия сокетов определенного типа, предназначенных для наблюдения, можно задать пустой массив или переменную, имеющую значение NULL. 
integer socket_send(resource socket, string buffer, integer length, integer flags)
Функция socket_send записывает данные, хранящиеся в аргументе buffer заданного соединения. При этом необходимо задать в байтах длину данных, записываемых в буфер. Кроме того, необходимо задать аргумент flags со значением NULL или комбинацией констант MSG_DONTROUTE и MSG_OOB. Функция возвращает объем записанных данных в байтах. В случае ошибки возвращается значение FALSE.
boolean socket_sendmsg(resource socket, resource iovector, integer flags, string address, integer port)
Функция socket_sendmsg делает попытки переслать данные через указанный сокет и предназначена прежде всего для сокетов, не имеющих соединений. В аргументе iovector задается ресурс, который возвратила функция socket_iovec_alloc. Кроме того, необходимо задать аргумент flags со значением NULL или с комбинацией констант MSG_DONTROUTE и MSG_OOB, а также аргумент address. Для сокетов, работающих с Internet, требуется задать аргумент port.
Функция socket_sendmsg возвращает значение TRUE, если он отправляет данные, но при этом их доставка не гарантируется.
integer socket_sendto(resource socket, string buffer, integer length, integer flags, string address, integer port)
Функция socket_sendto делает попытку переслать через сокет данные, указанные в аргументе buffer. Она предназначена прежде всего для сокетов, не имеющих соединений. Необходимо задать аргумент flags со значениями NULL, MSG_DONTROUTE и MSG_OOB или с их комбинацией, а также аргумент address. Для сокетов, работающих с Internet, требуется задать аргумент port. Функция socket_sendto возвращает значение TRUE, если она отправляет данные, при этом доставка данных не гарантируется.
boolean socket_set_block(resource socket)
Функция socket_set_block переводит сокет в режим блокировки. В режиме блокировки операции ввода-вывода ожидают завершения запросов.
boolean socket_set_nonblock(resource socket)
Функция socket_set_nonblock переводит сокет в незаблокированный режим работы. В незаблокированном режиме операции ввода-вывода осуществляются немедленно, даже если данные не могут быть переданы.
boolean socket_set_option(resource socket, integer level, integer option, integer value)
Функция socket_set_option устанавливает значение option для заданного со-кета. Аргумент level должен быть константой, отражающей уровень, к которому применяется значение option. Допустимые значения - SOL_SOCKET, SOL_TCP и SOL_UDP. Аргумент option должен соответствовать одной из констант, приведенных в табл. 10.5. 
boolean socket_shutdown(resource socket, integer how)
Функция socket_shutdown закрывает сокет для операций ввода-вывода. Чтобы остановить прием данных, необходимо установить для аргумента how значение 0. Чтобы остановить отправку данных, устанавливается значение 1, а для остановки обеих операций сразу устанавливается значение 2.
string socket_strerror(integer error)
Функция socket_strerror возвращает описание ошибки по ее номеру.
integer socket_write(resource socket, string buffer, integer length)
Функция socket_write записывает данные из заданного буфера в сокет. Допол­нительно с помощью аргумента length можно задать размер данных в байтах, записываемых из буфера. Если этот аргумент на задан, будет отослан весь буфер. Эта функция обычна удобнее в использовании, чем socket_send.
boolean socket_writev(resource socket, resource iovector)
Функция socket_writev записывает заданные векторы ввода-вывода в сокет.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Операции ввода-вывода на сетевом уровне. Часть Шестая. PHP. Операции ввода-вывода на сетевом уровне. Часть Восьмая.