Swoole 가상 머신에서 브라우저 액세스를 설정하는 방법

PHPz
풀어 주다: 2023-03-28 10:44:05
원래의
1073명이 탐색했습니다.

현대 웹 개발에서 서버 측 기술은 상당한 발전을 이루었습니다. 그러나 서버 측 코딩은 많은 초보자가 이해하고 마스터하기에는 여전히 매우 어렵습니다. 이러한 사람들이 서버 측 프로그래밍을 더 잘 이해할 수 있도록 이 기사에서는 Swoole 가상 머신에서 브라우저 액세스를 설정하는 방법을 소개합니다.

swoole 가상 머신은 PHP 프로그래밍 언어를 기반으로 하는 서버측 오픈 소스 소프트웨어입니다. 이벤트 기반 접근 방식을 사용하여 웹 요청을 처리하므로 서버 리소스 소비를 효과적으로 줄이고 웹 서비스 성능을 향상시킬 수 있습니다. 그러나 Swoole 가상 머신을 사용할 때 많은 사람들은 브라우저를 통해 직접 액세스할 수 없다는 것을 알게 될 것입니다. 이것이 이 기사에서 해결할 문제입니다.

먼저 브라우저를 사용하여 Swoole 가상 머신에 액세스하려면 웹 서버를 열어야 합니다. swoole 가상 머신에는 웹 서버를 신속하게 배포하는 데 사용할 수 있는 자체 swoole_http_server 클래스가 내장되어 있습니다. 우리가 해야 할 일은 이 클래스를 코드에 도입하고 웹 요청을 처리하기 위한 콜백 함수를 등록하는 것뿐입니다.

다음은 웹 서버를 설정하고 브라우저에서 접속할 수 있는 간단한 예시입니다.

<?php

$http = new swoole_http_server("127.0.0.1", 9501);

$http->on("request", function ($request, $response) {
    $response->header("Content-Type", "text/plain");
    $response->end("Hello World\n");
});

$http->start();
로그인 후 복사

이 코드에서는 로컬 포트 ​​9501을 수신하는 http 서버를 설정했습니다. 콜백 함수에서 응답 헤더의 Content-Type을 설정하고 간단한 Hello World 문자열을 반환했습니다. 해당 코드를 실행한 후, 브라우저에 http://127.0.0.1:9501 주소를 입력하시면 접속하실 수 있습니다.

그러나 이는 단순한 예일 뿐입니다. 실제 애플리케이션에서는 더 많은 웹 요청을 처리하고 이러한 요청에 대해 더 복잡한 처리를 수행해야 합니다. 그러기 위해서는 코드를 더 명확하고 읽기 쉽게 구성해야 합니다. 다음으로 Swoole 가상 머신을 사용하여 복잡한 웹 요청을 처리하는 방법을 소개합니다.

먼저 요청을 다른 핸들러로 라우팅해야 합니다. Swoole 가상 머신에는 내장된 라우팅 기능이 없지만 개발자가 직접 구현할 수 있습니다. 아래는 간단한 예입니다.

<?php

$http = new swoole_http_server("127.0.0.1", 9501);

$http->on("request", function ($request, $response) {
    $method = $request->server["request_method"];
    $uri = $request->server["request_uri"];

    switch ($method . $uri) {
        case "GET /":
            handlerHomePage($request, $response);
            break;
        case "GET /about":
            handlerAboutPage($request, $response);
            break;
        default:
            handlerNotFound($request, $response);
    }
});

function handlerHomePage($request, $response) {
    $response->header("Content-Type", "text/html");
    $response->end("This is Home Page");
}

function handlerAboutPage($request, $response) {
    $response->header("Content-Type", "text/html");
    $response->end("This is About Page");
}

function handlerNotFound($request, $response) {
    $response->status(404);
    $response->header("Content-Type", "text/html");
    $response->end("Page Not Found");
}

$http->start();
로그인 후 복사

이 코드에서는 HTTP 요청의 메서드와 URI를 기반으로 다양한 핸들러로 라우팅합니다. handlerHomePage, handlerAboutPage 및 handlerNotFound는 각각 홈 페이지, 정보 페이지 및 404 오류 페이지를 처리합니다. 이러한 라우팅 코드는 일반적으로 유지 관리가 쉽고 필요에 따라 더 많은 라우팅 논리를 추가할 수 있습니다.

마지막으로 우리가 주목해야 할 점은 Swoole 가상 머신의 웹 서비스가 기존 웹 서비스와 다르다는 것입니다. Swoole 가상 머신에서 HTTP 요청 처리는 비동기식입니다. 즉, HTTP 요청은 차단되지 않지만 비동기 콜백을 사용하여 처리됩니다. 따라서 프로그램이 올바르게 작동하도록 코드를 작성할 때 비동기 이벤트를 주의 깊게 처리해야 합니다.

이 기사에서는 Swoole 가상 머신에서 브라우저 액세스를 설정하는 방법을 배웠습니다. 간단한 Hello World 프로그램으로 시작하여 점차 더 많은 기능을 도입하고 마침내 간단한 라우팅을 구현했습니다. 이 과정에서 우리는 Swoole 가상 머신이 우수한 성능과 유지 관리성을 갖고 있어 실제 적용에도 고려할 수 있다는 것을 확인했습니다.

위 내용은 Swoole 가상 머신에서 브라우저 액세스를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!