0MQ messaging ZMQSocket::__construct

(PECL zmq >= 0.5.0)

ZMQSocket::__construct — 새로운 ZMQSocket 생성


설명

public 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 object.
type
소켓 유형입니다. ZMQ::SOCKET_* 상수를 참조하십시오.
persistent_id
persistent_id가 지정되면 소켓은 여러 요청에 대해 지속됩니다. context가 지속되지 않으면 소켓은 비영구 모드로 폴백합니다.
on_new_socket
새로운 소켓 구조가 생성될 때 실행되는 콜백 함수. 기본 영구 연결이 재사용되는 경우 이 함수가 호출되지 않습니다.

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


오류/예외

오류가 발생하면 ZMQSocketException을 던집니다.


Examples

예제 #1 ZMQSocket() 예제

바인드/연결 소켓 콜백 사용

                  
<?php
/*
  The socket is persistent so this function is called only on the
  first request to the script.
*/
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");
    }
}

/* Allocate a new context */
$context = new ZMQContext();

/* Create a new socket */
$socket = $context->getSocket(ZMQ::SOCKET_REP, 'server', 'on_new_socket_cb');

$message = $socket->recv();
echo "Received message: {$message}\n";
?>