PHP-并发流\套接字\接受连接?
我一直在尝试使用流函数设置socketserver。但有一个问题是:在我的代码中,我有:PHP-并发流\套接字\接受连接?,php,sockets,concurrency,Php,Sockets,Concurrency,我一直在尝试使用流函数设置socketserver。但有一个问题是:在我的代码中,我有: 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 "
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),否则headers/HTML不会被发送到客户端,当我关闭它时,它不会接受任何其他连接。任何帮助都将不胜感激,谢谢
编辑
我在0.0.0.0:80上运行它,所以您可以尝试它我认为您真正想要做的是:
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
}
我想你真正想做的是:
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
}
现在我必须在页面上运行stream\u socket\u server(),客户端才能连接,否则页面在加载时会卡住,我该怎么办?现在我必须在页面上运行stream\u socket\u server(),客户端才能连接,否则页面在加载时会卡住,我该怎么办?你的链接指向,您的链接指向,这是我们无法访问的。