Workerman ドキュメントに HTTP サーバー機能を実装する

WBOY
リリース: 2023-11-08 09:32:22
オリジナル
1303 人が閲覧しました

Workerman ドキュメントに HTTP サーバー機能を実装する

Workerman ドキュメントに HTTP サーバー機能を実装するには、特定のコード例が必要です

近年、Web テクノロジーの急速な発展に伴い、Web サーバーは私たちの日々の仕事に欠かせないもの。 Workerman は、HTTP サーバー機能を実装するための簡潔かつ柔軟な方法を提供する高性能 PHP ソケット フレームワークです。この記事では、Workerman ドキュメントの HTTP サーバー機能の具体的なコード例を紹介します。

まず、Workerman をインストールする必要があります。これは Composer を通じてインストールできます。コマンド ライン ツールを開き、プロジェクト ディレクトリに切り替えて、次のコマンドを実行します。

composer require workerman/workerman
ログイン後にコピー

インストールが完了したら、コードの記述を開始できます。以下は、単純な HTTP サーバーのサンプル コードです。

<?php
require_once __DIR__ . '/vendor/autoload.php';

use WorkermanWorker;

// 创建一个Worker监听8090端口
$httpWorker = new Worker('http://0.0.0.0:8090');

// 启用多进程模式
$httpWorker->count = 4;

// 接收到http请求时的处理函数
$httpWorker->onMessage = function ($connection, $request) {
    // 根据请求的URI获取文件路径
    $path =  __DIR__ . '/public' . $request->uri;

    // 如果请求的文件存在则发送文件内容
    if (is_file($path) && file_exists($path)) {
        $connection->send(file_get_contents($path));
    } else {
        // 否则发送404 Not Found状态码
        $connection->sendHeader('HTTP/1.1 404 Not Found');
        $connection->send('404 Not Found');
    }
};

// 运行Worker
Worker::runAll();
ログイン後にコピー

上記のコードでは、最初に Composer の自動読み込みを導入しました。次に、ポート 8090 でリッスンするワーカー インスタンスを作成しました。そして、4 つのプロセスがリクエストを処理できるようになります。次に、onMessage イベント コールバック関数を定義します。HTTP リクエストが受信されると、コールバック関数が実行されてリクエストを処理します。

コールバック関数では、まず要求された URI を通じて要求されたファイル パスを取得し、次にそのファイル パスが存在するかどうかを判断します。存在する場合はファイルの内容がクライアントに送信され、存在しない場合は 404 Not Found ステータス コードが送信されます。

最後に、Worker::runAll() メソッドを呼び出してワーカー全体を実行します。

上記のコードを完了したら、ターミナルで次のコマンドを実行して HTTP サーバーを起動できます:

php http_server.php start
ログイン後にコピー

ブラウザ経由でアクセスhttp://localhost:8090をクリックすると、要求されたファイルの内容または 404 Not Found 情報が表示されます。

これは、Workerman を使用して HTTP サーバー関数を実装する簡単なコード例です。この例を通じて、指定されたポートをリッスンし、受信した HTTP リクエストを処理するワーカー インスタンスを作成する方法を学習できます。

もちろん、特定のニーズに応じてコードを拡張および最適化することもできます。たとえば、ルーティング関数を追加してさまざまな URL リクエストを処理したり、POST リクエストのパラメータを解析したりできます。 Workerman は、開発者が柔軟に使用できる豊富な API と機能を提供します。

要約すると、Workerman は、HTTP サーバー機能を簡単に実装できる強力な PHP ソケット フレームワークです。上記のコード例が、よりパフォーマンスが高く、より安定した Web アプリケーションを開発する皆さんに役立つことを願っています。

以上がWorkerman ドキュメントに HTTP サーバー機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート