ホームページ > PHPフレームワーク > ThinkPHP > ThinkPHP6 で Workerman を使用する

ThinkPHP6 で Workerman を使用する

Guanhui
リリース: 2021-02-01 12:02:51
転載
9723 人が閲覧しました

ThinkPHP6 で Workerman を使用する

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 = &#39;http://0.0.0.0:2346&#39;;
 public function onMessage($connection,$data)
 {
 $connection->send(json_encode($data));
 }
}
ログイン後にコピー

workerman のすべてのコールバック メソッド定義をサポートします (コールバック メソッドはパブリック タイプである必要があります)

次に、worker_server.php に構成パラメーターを追加します。

return [
 &#39;worker_class&#39; =>  &#39;app\http\Worker&#39;,
];
ログイン後にコピー

このパラメーターを定義すると、他の構成パラメーターは無効になります。

コマンド ラインでサーバーを起動します

php think worker:server
ログイン後にコピー
ログイン後にコピー

次にブラウザでアクセスします

http://localhost:2346
ログイン後にコピー
ログイン後にコピー

Linux の場合は、reload|restart|stop も実行します。サポートされている |ステータス操作

php think worker:server reload
ログイン後にコピー

推奨チュートリアル: "PHP"

以上がThinkPHP6 で Workerman を使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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