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' );は、Web ページの上部に追加する必要がある場合があります

また、スクリプトの先頭にあるob_start()は、出力バッファリングをオンにします。

于 2012-10-10T08:09:12.803 に答える