2012-06-30 19 views
0

我需要一个监听连接并输出接收数据的脚本。我试过下面的代码:在页面上显示接收数据的套接字服务器

header('Content-Type: text/plain; charset=utf-8'); 
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr); 
if (!$socket) { 
    echo "$errstr ($errno)\n"; 
} else { 
    while ($conn = stream_socket_accept($socket)) { 
     $data = fread($conn, 100); 
     var_dump($data); 
     flush(); 
     fclose($conn); 
    } 
    fclose($socket); 
} 

基于这个例子:php.net/manual/en/function.stream-socket-server.php

的问题是,当出现在页面上没有客户端连接并发送一些数据。使用缓冲预防技术如ob_implicit_flush(),甚至在php.ini中设置output_buffering = Off都无济于事。可能浏览器中的缓冲导致这种情况,还有什么我应该尝试?

回答

1

正如我的想法,这是由于Chrome浏览器仅在连接关闭时才显示输出。不幸的是,似乎没有简单的方法可以在Chrome中更改此行为。

相关问题