PHP 日本研討會 2024

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 參數可用於分配持續性 socket。持續性 socket 必須從持續性上下文分配,並且它在多個請求中保持連線。persistent_id 參數可用於在多個請求中調用相同的 socket。on_new_socket 僅在建立新的基礎 socket 結構時呼叫。

參數

context

ZMQContext 物件。

type

socket 類型。 請參閱 ZMQ::SOCKET_* 常數。

persistent_id

如果指定 persistent_id,則 socket 將在多個請求中保持持續。 如果 context 不是持續性的,則 socket 會退回非持續性模式。

on_new_socket

回呼函式,當建立新的 socket 結構時執行。 如果重複使用底層的持續性連線,則不會呼叫此函式。

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

錯誤/例外

發生錯誤時擲回 ZMQSocketException

範例

範例 #1 ZMQSocket() 範例

使用回呼來綁定/連線 socket

<?php

/*
這個 socket 是持續性的,所以此函式只會在對腳本的首次請求時呼叫。
*/
function on_new_socket_cb(ZMQSocket $socket, $persistent_id = null)
{
if (
$persistent_id === 'server') {
$socket->bind("tcp://127.0.0.1:12122");
} else {
$socket->connect("tcp://127.0.0.1:12122");
}
}

/* 分配新的上下文 */
$context = new ZMQContext();

/* 建立新的 socket */
$socket = $context->getSocket(ZMQ::SOCKET_REP, 'server', 'on_new_socket_cb');

$message = $socket->recv();
echo
"收到訊息: {$message}\n";
?>

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top