int pid_send ( int $pid, int/string &$buf [ , int $len, int $flags = 0 ] )
pid_send() отправляет $len байты из $buf в сетевое устройство $pid
В случае успеха, возвращается количество отправленных байтов. -EPIPE возвращается, если сетевой сеанс закрыт. В противном случае, возникает ошибка PHP error. Возвращаемое значение может отличаться от $len из-за состояния сети.
<?php
$buf = "";
$pid = pid_open("/mmap/tcp0");
pid_connect($pid, "10.3.0.10", 1470);
do
{
$state = pid_ioctl($pid, "get state"); // get the current TCP state
if($state == TCP_CLOSED) // if TCP connection attempt fails, try to connect again
{
pid_connect($pid, "10.3.0.10", 1470);
sleep(1);
}
}while($state != TCP_CONNECTED);
echo "TCP connected\r\n";
while(1)
{
$rlen = pid_recv($pid, $buf, 100); // read the received data into $buf upto 100 bytes
if($rlen > 0)
{
echo "tcp received: $rlen bytes\r\n";
$wlen = pid_send($pid, $buf, $rlen, 0);
echo "tcp echo sent: $wlen bytes\r\n";
}
}
?>
pid_open() / pid_close() / pid_recv() / pid_ioctl()
Отсутствуют.