1

我正在尝试在 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);
   }
?>
4

1 回答 1

1

在调用flush()之后调用ob_flush()以刷新输出缓冲区。

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

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

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

于 2012-10-10T08:09:12.803 回答