PHP等待循环完成

时间:2012-10-10 08:03:49

标签: php sockets udp

我试图在一个在PHP中运行10次的while循环中打印UDP消息。问题是它等待循环完成然后消息被打印10次但我想在循环的每次迭代中打印它而不是在循环完成时。这是我的代码。

<?php
  $socket = socket_create(AF_INET,SOCK_DGRAM,SOL_UDP);
  socket_bind($socket,$ip_address,$port);

  $i = 0;
  while($i < 10)
  {
    $i++;
    $FROM = '';
    $PORT = 0;

    socket_recvfrom($socket,$buffer,1024,0,$from,$PORT);
    echo "Receiving $buffer from IP $FROM and Port $PORT", PHP_EOL);
    flush();
    sleep(1);
   }
?>

1 个答案:

答案 0 :(得分:1)

在您致电 flush()后,请致电 ob_flush() 以清除输出缓冲区。

  

此函数将发送输出缓冲区的内容(如果有)

如果从浏览器访问,则可能需要在网页顶部添加header( 'Content-type: text/html; charset=utf-8' );

脚本开头的 ob_start()也会打开输出缓冲。