Cometd 또는 간단한 혜성 같은 응용 프로그램의 목적을 PHP로 된 간단한 longpolling 요청과 무한 루프와 같은 코드를 통해 알 수는 없습니다표준 롱 폴링을 통한 혜성 소프트웨어의 장점
$time = time();
while(time() - $time < 30) {
if ($query) {
$shapes = ...;
echo json_encode($shapes);
break;
}
usleep(25000);
}
lighttpd 또는 NGIX와 같이 여러 요청을 위해 설계된 웹 서버에서 실행됩니다.
어쩌면 나는 혜성 서비스의 문서를 이해하지 못할 수도 있습니다. 위의 내용은 "혜성"요청이지만, 혜성 같은 것이 왜 더 좋은지는 알고 있습니다.
예를 들어, 응답 시간 간격은 250ms입니다. 또한 모든 활성 연결에 대해 별도의 PHP 프로세스를 사용할 필요가 없습니다. 그 일은 꽤 무거워. 동등한 PHP long polling 솔루션을 사용할 때보 다 서버 당 혜성 연결을 더 많이 열 수 있어야합니다. –
@frank apache는 각 연결마다 스레드를 남기고있는 유일한 웹 서버입니다. lighttpd는 실제로 다중 스레드 연결을 위해 설계되었습니다. – austinbv
PHP 자체는 스레드로부터 안전하지 않습니다. 물론 많은 PECL 모듈은 그렇지 않습니다. lighttpd/nginx를 사용하면 모든 활성 연결에 대해 PHP CGI proc을 실행하지 마십시오. –