ThinkPHP6 Workerman の基本的な使い方
Workerman
Workerman は純粋に開発されたオープンソースです。 PHP 高性能 PHP ソケット サーバー フレームワーク。モバイルアプリ、モバイルゲームサーバー、オンラインゲームサーバー、チャットルームサーバー、ハードウェア通信サーバー、スマートホーム、車両のインターネット、モノのインターネット、その他の分野の開発で広く使用されています。 TCP の長い接続をサポートし、Websocket、HTTP およびその他のプロトコルをサポートし、カスタム プロトコルをサポートします。 Workerman をベースとすることで、開発者はビジネス ロジックの開発により集中できるようになり、基礎となる PHP Socket の開発について心配する必要がなくなりました。
関連する推奨事項: 「workerman チュートリアル 」
インストール
composer による最初のインストール
composer require topthink/think-worker
Use
Workerman を HttpServer として使用します
コマンド ラインでサーバーを起動します
php think worker
これにより、ブラウザを通じて現在のアプリケーションに直接アクセスできるようになります
http://localhost:2346
Linux は次のコマンドをサポートできます。
php think worker [start|stop|reload|restart|status]
workerman のパラメータは、アプリケーション構成ディレクトリの worker.php で構成できます。
onWorkerStart の実行時には HTTP_HOST が存在しないため、アプリケーション構成ファイルで app_host を設定することが最善です。
SocketServer
サーバーを起動します。コマンド ライン (バージョン 2.0.5 が必要)
php think worker:server
WebSocket サービスはデフォルトで 0.0.0.0:2345 で開きます。
カスタム パラメータが必要な場合は、config/worker_server.php で次の内容を含めて設定できます。
また、workerman のすべてのパラメータ (グローバル静的パラメータを含む) をサポートします。
は、クロージャを使用して関連するイベント コールバックを定義することもサポートしています。
return [ 'socket' => 'http://127.0.0.1:8000', 'name' => 'thinkphp', 'count' => 4, 'onMessage' => function($connection, $data) { $connection->send(json_encode($data)); }, ];
は、カスタム クラスをワーカー サービス エントリ ファイル クラスとして使用することもサポートしています。たとえば、サービス クラスを作成し (think\worker\Server を継承する必要がある)、プロパティを設定してコールバック メソッドを追加できます。
<?php namespace app\http; use think\worker\Server; class Worker extends Server { protected $socket = 'http://0.0.0.0:2346'; public function onMessage($connection,$data) { $connection->send(json_encode($data)); } }
workerman のすべてのコールバック メソッド定義をサポートします (コールバック メソッドはパブリック タイプである必要があります)
次に、worker_server.php に構成パラメーターを追加します。
return [ 'worker_class' => 'app\http\Worker', ];
このパラメーターを定義すると、他の構成パラメーターは無効になります。
コマンド ラインでサーバーを起動します
php think worker:server
次にブラウザでアクセスします
http://localhost:2346
Linux の場合は、reload|restart|stop も実行します。サポートされている |ステータス操作
php think worker:server reload
推奨チュートリアル: "PHP"
以上がThinkPHP6 で Workerman を使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。