PHP 8.6.0 Beta 1 is available for testing

ZMQSocket::__construct

(PECL zmq >= 0.5.0)

ZMQSocket::__constructКонструктор класса ZMQSocket

Описание

public function ZMQSocket::__construct(
ZMQContext $context,
int $type,
string $persistent_id = null ,
callable $on_new_socket = null
)

Создаёт экземпляр класса ZMQSocket. Параметр persistent_id может быть использован для установления постоянного соединения. Постоянный сокет будет выделен из постоянного контекста и будет оставаться активным в течение нескольких запросов. Получить тот же сокет для множества запросов можно с помощью параметра persistent_id. Функция, заданная в on_new_socket вызывается только при создании новой структуры сокета.

Список параметров

context

Объект класса ZMQContext.

type

Тип сокета. Смотрите константы ZMQ::SOCKET_* .

persistent_id

Если параметр persistent_id указан, то сокет будет доступен в течение нескольких запросов. Если context не является постоянным, сокет так же вернётся к непостоянному режиму.

on_new_socket

Callback-функция, которая будет вызвана при создании нового сокета. Эта функция не вызывается в случае повторного использования постоянного соединения.

function callback(ZMQSocket $socket, string $persistent_id = null )

Ошибки

Выбрасывает ZMQSocketException в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ZMQSocket()

Использование функции обратного вызова для связи или подключения к сокету

<?php
/*
 Здесь используется постоянный сокет, поэтому функция будет вызвана лишь
 при первом обращении к скрипту.
*/
function on_new_socket_cb(ZMQSocket $socket, $persistent_id = null)
{
 if ($persistent_id === 'server') {
 $socket->bind("tcp://localhost:12122");
 } else {
 $socket->connect("tcp://localhost:12122");
 }
}
/* Создать новый контекст */
$context = new ZMQContext();
/* Создать сокет */
$socket = $context->getSocket(ZMQ::SOCKET_REP, 'server', 'on_new_socket_cb');
$message = $socket->recv();
echo "Получено сообщение: {$message}\n";
?>

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /