PHP.mk документација

ZMQSocket::recv

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

zmqsocket.recv.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека zmqsocket.recv.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
ZMQSocket::recv

Референца за `zmqsocket.recv.php` со подобрена типографија и навигација.

zmqsocket.recv.php

ZMQSocket::recv

Класата ZMQ

ZMQSocket::recvReceives a message

= NULL

public ZMQSocket::recv(int $mode = 0): string

Receive a message from a socket. By default receiving will block until a message is available unless ZMQ::MODE_DONTWAIT флагот се користи. ZMQ::SOCKOPT_RCVMORE socket option can be used for receiving multi-part messages. See ZMQSocket::setSockOpt() Користење на PHP од командната линија

Параметри

mode

Поминете ги знаменцата за режим за примање multipart пораки или операција без блокирање. Види ZMQ::MODE_* constants.

Вратени вредности

Returns the message. If ZMQ::MODE_DONTWAIT се користи и операцијата би блокирала false shall be returned.

Errors/Exceptions

). Ако повикот не успее, ќе врати ZMQSocketException при грешка.

Примери

Example #1 A send/recv example

Non-blocking send / receive

<?php

/* Create new queue object, there needs to be a server at the other end */
$queue = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ);
$queue->connect("tcp://127.0.0.1:5555");

/* Assign socket 1 to the queue, send and receive */
$retries = 5;
$sending = true;

/* Start a loop */
do {
try {
/* Try to send / receive */
if ($sending) {
echo
"Sending message\n";
$queue->send("This is a message", ZMQ::MODE_DONTWAIT);
$sending = false;
} else {
echo
"Got response: " . $queue->recv(ZMQ::MODE_DONTWAIT) . "\n";
break;
}
} catch (
ZMQSocketException $e) {
/* EAGAIN means that the operation would have blocked, retry */
if ($e->getCode() === ZMQ::ERR_EAGAIN) {
echo
" - Got EAGAIN, retrying ($retries)\n";
} else {
die(
" - Error: " . $e->getMessage());
}
}
/* Sleep a bit between operations */
usleep(5);
} while (--
$retries);
?>

Горниот пример ќе прикаже нешто слично на:

Sending message
 - Unable to execute operation, retrying (4)
Got response: This is a message

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.