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

ThinkPHP6 で Workerman を使用する

Guanhui
Guanhui転載
2020-06-10 09:16:399495ブラウズ

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 までご連絡ください。