pid_recvfrom()


int pid_recvfrom ( int $pid, int/string &$buf [ , int $len, int $flags = 0, string &$addr, int &$port ] )

Описание

pid_recvfrom() получает $len байты входящих данных из сокета буфера UDP

Параметры

Возврат значений

Возвращает колчиество полученных байтов (может быть меньше, чем $len). При ошибке PHP появится error.

Пример

<?php
define("MAX_BUF", 100);

$buf = "";
$peer_addr = "";
$peer_port = 0;

$pid = pid_open("/mmap/udp0");
pid_bind($pid, "", 1470);

while(1)
{
    $rlen = pid_recvfrom($pid, $buf, MAX_BUF, 0, $peer_addr, $peer_port);
    if($rlen > 0)
    {
        echo "udp received from $peer_addr:$peer_port ($rlen bytes)\r\n";
        $wlen = pid_sendto($pid, $buf, $rlen, 0, $peer_addr, $peer_port);
        echo "udp echo sent: $wlen bytes\r\n";

        // send data another host
        $wlen = pid_sendto($pid, $buf, $rlen, 0, "10.3.0.52", 2000);
        echo "udp sent to another host: $wlen bytes\r\n";
    }
}
?>

Смотрите также

pid_open() / pid_close() / pid_bind() / pid_sendto()

Примеры

Отсутствуют.