ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP6 Workerman の基本的な使い方

ThinkPHP6 Workerman の基本的な使い方

Guanhui
Guanhui転載
2020-05-13 09:51:159401ブラウズ

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