일반적으로 php에서는 페이지의 소스를 모두 실행하여출력할 내용을
버퍼에 저장해 두었다가, 버퍼가 가득차면 그때 브라우저로 보내주어 출력이 이루어진다

그런데 만약 멈추지 않고 어떤 것을 실행하며 새로운 결과를 계속 웹브라우저로 출력해주어야 하는 작업을 해야만 한다면
이때 사용하는 것이 서버푸시 server push 이다

서버푸시는 버퍼가 차기전에 버퍼를 비우고 버퍼의 내용을 웹브라우저로 보내주는 역할을 한다.

서버푸시를 위한 함수로
flush ()
형식은 위와 같으며, 일반적으로 서버푸시의 성능을 높이기 위해
sleep , usleep이라는 함수를 사용한다

sleep함수는 초 단위로 프로그램실행을 잠시 멈추는 것이고
usleep는 마이크로타임단위로 잠시 멈추는 것이다

예> sleep (1) , usleep(1000000) 하면 1초간 멈춘다

<?
echo "<!-- 서버푸시를 사용하기 전에는 버퍼가 채워져 있어야 함 -->";
echo "<!-- 서버푸시를 사용하기 전에는 버퍼가 채워져 있어야 함 -->";
echo "<!-- 서버푸시를 사용하기 전에는 버퍼가 채워져 있어야 함 -->";
echo "<!-- 서버푸시를 사용하기 전에는 버퍼가 채워져 있어야 함 -->";
echo "<!-- 서버푸시를 사용하기 전에는 버퍼가 채워져 있어야 함 -->";
echo "<!-- 서버푸시를 사용하기 전에는 버퍼가 채워져 있어야 함 -->";

for ($i=1; $i<100; $i++){
 echo "서버푸시예제";
 flush();
 sleep(1);
}
?>
결과는
서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제서버푸시예제








+ Recent posts