>  기사  >  백엔드 개발  >  Exec() 및 AJAX를 사용하여 웹 사이트의 PHP에서 Java 프로그램 출력을 실시간으로 스트리밍하는 방법은 무엇입니까?

Exec() 및 AJAX를 사용하여 웹 사이트의 PHP에서 Java 프로그램 출력을 실시간으로 스트리밍하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-22 19:09:03881검색

How to Stream Java Program Output in Real Time from PHP on a Website Using Exec() and AJAX?

웹사이트의 PHP에서 Java 프로그램 실행

많은 웹사이트에서는 사용자가 시뮬레이션 실행이나 데이터 조작 등 Java 프로그램과 상호 작용할 수 있습니다. 이를 달성하기 위해 PHP는 Java 명령을 호출하고 표준 출력을 웹사이트로 다시 파이프할 수 있는 exec() 함수를 제공합니다.

PHP에서 Java 실행

활용 exec()를 사용하면 Java 애플리케이션을 쉽게 호출할 수 있습니다. 예를 들면 다음과 같습니다.

<code class="php"><?php exec("java -jar file.jar arguments", $output); ?></code>

이 명령은 지정된 인수를 사용하여 Java 애플리케이션 file.jar을 시작합니다.

실시간 출력 스트리밍

웹 사이트에 Java 프로그램 출력을 표시하면 AJAX 또는 JavaScript를 활용할 수 있습니다. 한 가지 방법은 setTimeout() 함수를 사용하여 주기적으로 서버에 업데이트를 쿼리하는 것입니다.

<code class="javascript">function checkOutput() {
  $.ajax({
    url: "server_script.php",
    success: function(data) {
      $("#output").html(data);
      setTimeout(checkOutput, 1000);  // Check every second
    }
  });
}</code>

PHP 스크립트에서는 tail()을 사용하여 Java 프로그램 출력을 지속적으로 검색할 수 있습니다.

<code class="php"><?php
  $filename = "tmp/output.txt";
  $lines = tail($filename, 10);  // Retrieve the last 10 lines of output
  
  // Update the client with the new lines
  echo json_encode($lines);
?></code>

이 접근 방식을 사용하면 Java 프로그램의 진행 상황을 사용자의 브라우저에 실시간으로 표시할 수 있습니다. 다만, 악성코드 실행을 방지하기 위해서는 보안상 주의 깊은 관리가 필수입니다.

위 내용은 Exec() 및 AJAX를 사용하여 웹 사이트의 PHP에서 Java 프로그램 출력을 실시간으로 스트리밍하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.