boolean openssl_x509_export(resource certificate, string output, boolean terse)
Функция openssl_x5 0 9_export размещает сертификат X.509 в аргументе output. Необязательный аргумент terse контролирует наличие дополнительных читаемых комментариев. По умолчанию он имеет значение TRUE, что означает, что он не содержит комментариев.
boolean openssl_x509_export_to_file(resource certificate, string file, boolean terse)
Функция openssl_x509_export_to_file размещает сертификат X.509 в указанном файле. Необязательный аргумент terse контролирует наличие дополнительных читаемых комментариев. По умолчанию он имеет значение TRUE, что означает, что он не содержит комментариев.
void openssl_x509_free(resource certificate)
Эта функция предназначена для освобождения памяти, занятой ресурсом certificate.
array openssl_x509_parse(resource certificate, boolean short_names)
Функция openssl_x5 0 9_parse возвращает массив с описанием атрибутов заданного сертификата. По умолчанию PHP использует в качестве ключей короткие имена. Для использования длинных имен можно задать в необязательном аргументе short_names значение FALSE.
resource openssl_x509_read(string certificate)
Функция openssl_x509_read создает для заданного сертификата ресурс в виде строки или пути к файлу.
19.5. Сообщения ОС System V
Сообщения System V являются одним из трех способов обмена данными между процессами, которыми располагают операционные системы System V. Они позволяют процессам обмениваться данными с помощью форматированных сообщений. Процесс размещает сообщения фиксированной длины в очередях других процессов.
Подробное описание механизма обмена сообщениями в операционных системах System V выходит за рамки данной книги. Сведения о нем можно почерпнуть из множества источников. Я рекомендую книгу Ричарда Стивенса (W. Richard Stevens) Unix Network Programming, опубликованную издательством Prentice Hall. Второе издание этой книги было опубликовано в двух томах в 1997 году.
В листингах 19.18 и 19.19 показана работа простейшего сервера, который переводит строки в верхний регистр с использованием сообщений System V. Сервер ожидает помещения клиентами сообщений в его очередь, а затем размещает преобразованный текст в клиентские очереди. Клиент также имеет возможность отослать приветствие или запрос на выключение сервера.
Листинг 19.18. Сервер сообщений System V
<?php
// ключ к очереди сервера define('SERVER_QUEUE', 1970); // тип сообщений define('MSG_SHUTDOWN', 1); define('MSG_TOUPPER', 2); define('MSG_HELLO', 3); // создать очередь
$queue = msg_get_queue(SERVER_QUEUE); // обработать сообщения $keepListening = TRUE; while($keepListening)
{
//ожидание сообщения
msg_receive($queue, 0, $type, 1024, $message); switch($type)
{
case MSG_SHUTDOWN:
$keepListening = FALSE;
break; case MSG_HELLO:
print($message . " says hello.n");
break; case MSG_TOUPPER:
$clientQueue = msg_get_queue($message['caller']);
$response = strtoupper($message['text']);
msg_send($clientQueue, MSG_TOUPPER, $response);
break;
}
}
// удалить очередь msg_remove_queue($queue);
?>
Листинг 19.19. Сервер сообщений System V
<?php
// ключ к очереди сервера define('SERVER_QUEUE', 1970); // тип сообщений define('MSG_SHUTDOWN', 1); define('MSG_TOUPPER', 2); define('MSG_HELLO', 3);
// создать очередь
$qid = rand(1, 10000);
$queue = msg_get_queue($qid);
$serverQueue = msg_get_queue(SERVER_QUEUE);
// отправить приветствие
msg_send($serverQueue, MSG_HELLO, $qid); //перевести строку в верхний регистр msg_send($serverQueue, MSG_TOUPPER, array('caller'=>$qid,
,text'=>,corephp')); // ожидать ответа от сервера
msg_receive($queue, 0, $type, 1024, $message); print("$messagen");
// дать команду на отключение сервера msg_send($serverQueue, MSG_SHUTDOWN, NULL); // удалить очередь msg_remove_queue($queue);
?>
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Разное:Apache,IMAP,MnoGoSearch,OpenSSL. Часть Триннадцатая.
30-04-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Разное:Apache,IMAP,MnoGoSearch,OpenSSL. Часть Двеннадцатая. | PHP. Разное:Apache,IMAP,MnoGoSearch,OpenSSL. Часть Четырнадцатая. |