検索
ホームページPHPフレームワークThinkPHPThink-Swoole の WebSocket イベント サブスクリプション

前の例を通じて、前のイベント リスニング方法に従う場合、サーバーはクライアント上の各シーン イベントに対応する各イベントを作成する必要があります。イベントが多すぎると、アプリ内に多数のイベントが存在することになります。 /listener ディレクトリ ファイル (実際には悪い現象ではありません)、イベント サブスクリプションは、この問題を解決し、すべてのイベントをファイルに書き込むことです。

以下ではイベント サブスクリプションを使用してイベントを処理します

まず、app/event.php で以前にリッスンしていたイベントをコメント アウトし、リッスン イベントを作成する必要があります: php think make:listener サブテスト。

次に、新しく作成したリッスン ファイルを websocket で設定します => config/swoole.php 設定でサブスクライブします:

'websocket'  => [
        .
        .
        .
        'listen'        => [],
        'subscribe'     => [
           \app\listener\SubTest::class
        ],
],

app/listener/SubTest でリッスンする必要があるイベントを定義します。 php:

<?php
declare (strict_types = 1);
namespace app\listener;
class SubTest
{
    protected $websocket = null;
    public function __construct()
{
        $this -> websocket = app(&#39;\think\swoole\Websocket&#39;);
    }
    //连接事件
    public function onConnect()
{
        $this -> websocket -> emit(&#39;sendfd&#39;,$this -> websocket -> getSender());
    }
    //加入房间
    public function onJoin($event)
{
        $this -> websocket -> join($event[&#39;room&#39;]);
        $this -> websocket -> emit(&#39;joincallback&#39;,&#39;加入房间成功&#39;);
    }
    public function onRoomTest($event)
{
        $this -> websocket -> to($event[&#39;room&#39;]) -> emit(&#39;roomtestcallback&#39;,$event[&#39;message&#39;]);
    }
}

イベントをリッスンするメソッドの命名規則: イベント シーン識別子 (ハンプ命名)

前のフロントエンド ページでテストしたところ、すべてが正常でした。

以上がThink-Swoole の WebSocket イベント サブスクリプションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は阿dai哥で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール