그래서 제 3 자로부터 새로운 게시 된 데이터를 임의로받는 PHP 파일이 있습니다.PHP 스크립트에서 PHP 이벤트 스트림으로 데이터 전달
<?php
$data = $_REQUEST;
// Data processing
을 그리고 나는 (JS) 클라이언트에 데이터를 스트리밍 HTML5 Server-Sent Events를 사용하는 별도의 스크립트, stream.php
을 가지고 : 간단하게하기 위해 들어, get_data.php
를 호출하고 다음과 같이 보입니다 가정 해 봅시다 :
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
while (true) {
echo 'data: ' . $data . PHP_EOL;
echo PHP_EOL;
ob_flush();
flush();
sleep(1);
}
각 스크립트 자체로 정상적으로 작동합니다. 그러나 첫 번째 스크립트의 $data
을 두 번째 스크립트로 전달해야합니다.
DB 또는 임시 파일에 변수를 저장하여이 작업을 수행 할 수 있지만 필자는 PHP만으로이 작업을 수행 할 수 있습니다.
하나의 파일을 다른 파일에 포함시키는 것은 좋은 옵션처럼 보이지 않습니다. 스트림 헤더가 제 3 자에게 데이터를 게시 할 때 엉망이 될 수 있기 때문이며 데이터 처리를 별도로 유지하고 싶습니다. 후자의 경우의 스트림.
참고 - 이것은 데이터가 사용자가 아닌 다른 타사에 의해 게시 될 때 나는 겉으로 $_SESSION
변수를 사용할 수 없다는 주어진 웹 페이지에 PHP 스크립트간에 데이터를 전달하는 방법을 묻는 다른 질문의 중복되지 않습니다 이벤트 스트림에 액세스합니다.
조심해야하지만 당신은 어딘가에 보관해야합니다. 이런 경우에는 메시징 시스템이 필요합니다. Redis pubsub, RabbitMQ 또는 ZeroMQ를 시작점으로 살펴보십시오. – bcmcfc