前の例を通じて、前のイベント リスニング方法に従う場合、サーバーはクライアント上の各シーン イベントに対応する各イベントを作成する必要があります。イベントが多すぎると、アプリ内に多数のイベントが存在することになります。 /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('\think\swoole\Websocket'); } //连接事件 public function onConnect() { $this -> websocket -> emit('sendfd',$this -> websocket -> getSender()); } //加入房间 public function onJoin($event) { $this -> websocket -> join($event['room']); $this -> websocket -> emit('joincallback','加入房间成功'); } public function onRoomTest($event) { $this -> websocket -> to($event['room']) -> emit('roomtestcallback',$event['message']); } }
イベントをリッスンするメソッドの命名規則: イベント シーン識別子 (ハンプ命名)
前のフロントエンド ページでテストしたところ、すべてが正常でした。
以上がThink-Swoole の WebSocket イベント サブスクリプションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール

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

ホットトピック









