ZMQSocket
PHP Manual

ZMQSocket::__construct

(PECL zmq >= 0.5.0)

ZMQSocket::__constructConstrói um novo ZMQSocket

Descrição

ZMQSocket::__construct ( ZMQContext $context , int $type [, string $persistent_id = null [, callback $on_new_socket = null ]] )

Constrói um objeto ZMQSocket. O parâmetro persistent_id pode ser usado para alocar um socket persistente. Um socket persistente deve ser alocado a partir de um contexto persistente e permanece conectado ao longo de várias requisições. O parâmetro persistent_id pode ser usado para chamar novamente o mesmo socket ao longo de várias requisições. O parâmetro on_new_socket é chamado apenas quando uma nova instância de socket for criada.

Parâmetros

context

Um objeto ZMQContext.

type

O tipo do socket. Consulte as constantes ZMQ::SOCKET_*.

persistent_id

Se o parâmetro persistent_id for especificado, o socket será persistente ao longo de várias requisições. Se o parâmetro context não for persistente, o socket volta para o modo não persistente.

on_new_socket

Uma finção de retorno que é executada quando uma nova instância de socket é criada. Essa função não é invocada se a conexão em uso for persistente e estiver sendo reusada.

Exemplos

Exemplo #1 Um exemplo de ZMQSocket()

Usando uma função de retorno para associar/conectar o socket

<?php

/*
  O socket é persistente e por isso essa função é chamada apanas na
  primeira requisição ao script.
*/
function novo_socket_cb(ZMQSocket $socket$id_persistente null)
{
    if (
$id_persistente === 'servidor') {
        
$socket->bind("tcp://localhost:12122");
    } else {
        
$socket->connect("tcp://localhost:12122");
    }
}

/* Aloca um novo contexto */
$contexto = new ZMQContext();

/* Cria um novo socket */
$socket $context->getSocket(ZMQ::SOCKET_REP'servidor''novo_socket_cb');

$mensagem $socket->recv();
echo 
"Mensagem recebida: {$mensagem}\n";
?>

Assinatura da função de retorno

Nota:

function novo_socket_cb(ZMQSocket $socket, string $persistent_id = null);

Valor Retornado

Lança uma exceção ZMQSocketException caso haja erro.


ZMQSocket
PHP Manual