我一直在尝试使用流功能设置套接字服务器。但有一个问题是:在我的代码中,我有:
while($conn = @stream_socket_accept($server))
{
$request = "";
while(substr($request, -4) !== "\r\n\r\n")
{
$request .= fread($conn, 1024);
}
$headers = "HTTP/1.1 200 OK\r\nServer: PHP " . phpversion() . "\r\nContent-Type: text/html\r\n\r\n";
fputs($conn, $headers);
fclose($conn);
}
所以,你可以看到我fclose($ conn),否则header / HTML没有被发送到客户端,当我关闭它时,它将不接受任何其他连接。任何帮助都将非常感谢,谢谢!
修改
我在0.0.0.0:80运行它,所以你可以尝试here
答案 0 :(得分:0)
我认为你真正想做的是:
while (true) {
$conn = @stream_socket_accept($server);
if ($conn) {
$request = "";
while(substr($request, -4) !== "\r\n\r\n") {
$request .= fread($conn, 1024);
}
$headers = "HTTP/1.1 200 OK\r\nServer: PHP " . phpversion() . "\r\nContent-Type: text/html\r\n\r\n";
fputs($conn, $headers);
fclose($conn);
}
// only break out of this loop if you want to close the server
}