次のコラム workerman チュートリアルでは、workerman の概念と使い方を紹介します。困っている友人の役に立てば幸いです。
workerman は、高性能 PHP ソケット サーバー フレームワークです。Workerman は、PHP マルチプロセスおよび libevent イベント ポーリング ライブラリに基づいています。PHP 開発者は、1 つまたは 2 つのインターフェイスを実装するだけで済みます。 . Rpc サービス、チャット ルーム サーバー、モバイル ゲーム サーバーなどの独自のネットワーク アプリケーションを開発します。
Workerman の目標は、PHP 開発者が PHP ソケットや PHP マルチプロセスの詳細を理解していなくても、高性能のソケットベースのアプリケーション サービスを簡単に開発できるようにすることです。
Workerman 自体は、PHP プロセス管理とソケット通信用のモジュールを備えた PHP マルチプロセス サーバー フレームワークであるため、php-fpm、nginx、apache などのコンテナに依存せずに独立して実行できます。
PHP プロセス管理: オペレーティング システムのプロセス管理に似ています。
ソケット: ネットワーク上の 2 つのプログラムは、双方向通信接続を通じてデータを交換します。この接続の一端はソケットと呼ばれます。
サーバー側の開発例 WebSocket Server
1. 新しいファイル start.php
<?php use Workerman\Worker; require_once './Workerman/Autoloader.php'; // 创建一个Worker监听2346端口,使用websocket协议通讯 $ws_worker = new Worker("websocket://0.0.0.0:2346"); // 启动4个进程对外提供服务 $ws_worker->count = 4; // 当收到客户端发来的数据后返回hello $data给客户端 $ws_worker->onMessage = function($connection, $data) { // 向客户端发送hello $data $connection->send('hello ' . $data); }; // 运行 Worker::runAll();
2. サービスを開始します:
php start.php start -d
上記のステートメントを使用して start.php を開始し、ポート 2346 をリッスンするワーカーを作成し、WebSocket プロトコルを使用して通信し、外部サービスを提供する 4 つのプロセスを開始します。リクエストが受信されると、データがクライアント。
3. ワーカーマンの実行ステータスを確認します:
php start.php status
ワーカーマンのいくつかの主要な機能:
Pure PHP 開発
Workerman は完全に PHP を使用して開発されており、Workerman を使用して開発されたアプリケーションは、php-fpm、apache、nginx などのコンテナに依存せずに単独で実行できます。これにより、PHP 開発者はアプリケーションを開発、展開、デバッグするのが非常に便利になります。
PHP マルチプロセスのサポート
サーバーのマルチ CPU のパフォーマンスを最大限に活用するために、Workerman はデフォルトでマルチプロセスとマルチタスクをサポートします。 Workerman は、メイン プロセスと複数のサブプロセスを開始して、外部サービスを提供します。メイン プロセスは、サブプロセスの終了シグナルを監視し、サービスを処理するための新しいサブプロセスを生成します。これにより、アプリケーションのパフォーマンスが向上するだけでなく、ワーカーマンの安定性も向上します。
TCP、UDP のサポート
workerman は、TCP と UDP の 2 つのトランスポート層プロトコルをサポートしています。ビジネス コードを変更せずにトランスポート層プロトコルを変更するには、構成の 1 つのフィールドを変更するだけで済みます。
長時間接続のサポート
多くの場合、PHP アプリケーションはチャット ルーム、ゲームなどのクライアントとの長時間接続を維持する必要がありますが、従来の PHP コンテナー (Apache、nginx、php-fpm) は必要ありません。これを行うのは非常に難しいです。 Workerman を使用すると、PHP の長い接続を簡単に使用できるようになります。単一の PHP プロセスは数千、さらには数万の同時接続をサポートでき、複数のプロセスは数十万、さらには数百万の同時接続をサポートできます。
さまざまなアプリケーション層プロトコルのサポート
インターフェイスは、カスタム プロトコルを含むさまざまなアプリケーション層プロトコルをサポートします。 Workerman がデフォルトでサポートするプロトコルには、HTTP、WebSocket、および単純な Text プロトコルが含まれます。同時に、Workerman は共通のプロトコル インターフェイスを提供し、開発者はこのインターフェイスに基づいて独自のプロトコルを簡単に開発できます。
高同時実行のサポート
workerman は、Libevent イベント ポーリング ライブラリをサポートしています (Libevent 拡張機能をインストールする必要があります)。Libevent を使用すると、高同時実行で優れたパフォーマンスが得られます。Libevent がインストールされていない場合は、PHP の組み込みの Select関連するシステムコール。
ワーカーマンの知識について詳しくは、ワーカーマン チュートリアル 列に注目してください。
以上がワーカーマン入門(使用説明書付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。