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::recvПрима порака

= NULL

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

Прима порака од сокет. Стандардно, приемот ќе блокира додека не биде достапна порака, освен ако ZMQ::MODE_DONTWAIT флагот се користи. ZMQ::SOCKOPT_RCVMORE опцијата за сокет може да се користи за примање повеќеделни пораки. Погледнете ZMQSocket::setSockOpt() Користење на PHP од командната линија

Параметри

mode

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

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

Враќа порака. Ако ZMQ::MODE_DONTWAIT се користи и операцијата би блокирала false ќе биде вратено.

Errors/Exceptions

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

Примери

Пример #1 Пример за испраќање/примање

Неблокирачко испраќање / примање

<?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.