ThinkPHP6 Workerman の基本的な使い方

Guanhui
リリース: 2021-02-01 12:03:15
転載
9352 人が閲覧しました

Workerman

Workerman は、純粋に PHP で開発されたオープンソースの高性能 PHP ソケット サーバー フレームワークです。モバイルアプリ、モバイルゲームサーバー、オンラインゲームサーバー、チャットルームサーバー、ハードウェア通信サーバー、スマートホーム、車両のインターネット、モノのインターネット、その他の分野の開発で広く使用されています。 TCP の長い接続をサポートし、Websocket、HTTP およびその他のプロトコルをサポートし、カスタム プロトコルをサポートします。 Workerman をベースとすることで、開発者はビジネス ロジックの開発により集中できるようになり、基礎となる PHP Socket の開発について心配する必要がなくなりました。

インストール

まずcomposerを通じてインストールします

composer require topthink/think-worker
ログイン後にコピー

使用

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 で次の内容を設定できます。

プロトコルプロトコル##ホストポート#ソケット完全なソケットアドレス は、クロージャを使用して関連するイベント コールバックを定義することもサポートしています。
return [
    'socket'    =>  'http://127.0.0.1:8000',
    'name'      =>  'thinkphp',
    'count'     =>  4,
    'onMessage' =>  function($connection, $data) {
        $connection->send(json_encode($data));
    },
];
ログイン後にコピー
設定パラメータ説明
リスニングアドレス
リスニングポート
##また、workerman のすべてのパラメーター (グローバル静的パラメーターを含む) をサポートします。
は、カスタム クラスをワーカー サービス エントリ ファイル クラスとして使用することもサポートしています。たとえば、サービス クラスを作成し (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|status 操作もサポートされます

php think worker:server reload
ログイン後にコピー
推奨チュートリアル: "

ThinkPHP

" "

PHP チュートリアル

" "

Workerman チュートリアル"

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

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