オンライン チャット導入に関する労働者の実践事例と経験の共有
はじめに: オンライン チャットは、現代のソーシャル ネットワークで非常に一般的な機能の 1 つです。このデジタル時代では、人々は友人、家族、同僚とリアルタイムでコミュニケーションできることを望んでいます。 Workerman は、高性能 PHP 非同期ネットワーク プログラミング フレームワークであり、オンライン チャット機能を実装するためのシンプルで信頼性の高い方法を提供します。この記事では、Workerman フレームワークを使用して基本的なオンライン チャット ルームを構築する方法を紹介し、いくつかの実践的な経験とコード例を共有します。
1. 準備
始める前に、いくつかの環境とツールを準備する必要があります:
2. 基本フレームワークを構築します
3. サーバー側コードを作成します
index.php ファイルを開き、Workerman フレームワークのオートローダーを導入します:
require_once __DIR__ . '/Workerman/Autoloader.php';
Worker インスタンスを作成し、リスニング ポート番号を設定します:
use WorkermanWorker; $ws = new Worker('websocket://0.0.0.0:8000');
Worker インスタンスの実行パラメータを設定します:
$ws->count = 4; // 设置Worker进程数量 $ws->name = 'ChatRoom'; // 设置Worker名称
クライアント接続イベントを処理します。新しいクライアントが接続したときに、それを配列に保存します。
$ws->onConnect = function($connection) { global $ws; $ws->clients[$connection->id] = $connection; };
クライアント切断イベントを処理します。クライアントが切断したときに、配列から削除します。
$ws->onClose = function($connection) { global $ws; unset($ws->clients[$connection->id]); };
クライアント メッセージ イベントを処理し、クライアントがメッセージを送信すると、そのメッセージをすべてのオンライン ユーザーにブロードキャストします:
$ws->onMessage = function($connection, $data) { global $ws; foreach ($ws->clients as $client) { $client->send($data); } };
最後に、開始します。 Worker インスタンス:
Worker::runAll();
4. クライアント コードを記述します
index.php ファイルに、チャットを表示する HTML ページを追加します。 room:
<!DOCTYPE html> <html> <head> <title>在线聊天室</title> </head> <body> <div id="messageContainer"> </div> <input type="text" id="messageInput"> <button onclick="sendMessage()">发送</button> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> var ws = new WebSocket('ws://your_server_ip:8000'); ws.onmessage = function(event) { var message = event.data; $("#messageContainer").append("<p>" + message + "</p>"); }; function sendMessage() { var message = $("#messageInput").val(); ws.send(message); } </script> </body> </html>
5. テストの実行
サーバーを起動し、コードが存在するフォルダーに移動して、次のコマンドを実行します:
php index.php start
6. 実践的な経験とコード例
結論: この記事では、Workerman フレームワークを使用して基本的なオンライン チャット ルームを構築する手順を紹介し、いくつかの実践的な経験とコード例を共有します。この記事が興味のある読者に役立つことを願っています。また、ユーザー エクスペリエンスを向上させ、ユーザー情報のセキュリティを保護するために、アプリケーションにさらに多くの機能とセキュリティ対策を追加することを皆さんに思い出していただけることを願っています。
以上が作業員によるオンラインチャット導入の実践事例と経験の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。