Workerman を使用して PHP と Unity3D でリアルタイム チャット アプリケーションを構築する方法
はじめに:
インターネットの急速な発展に伴い、リアルタイム通信は最新のアプリケーションに不可欠な部分になりました。 。オンライン ゲーム、ソーシャル メディア、実稼働環境では、リアルタイム チャット アプリケーションが重要な役割を果たします。この記事では、PHP を使用してサーバー側コードを記述し、Unity3D でクライアントを実装するなど、Workerman フレームワークを使用してリアルタイム チャット アプリケーションを構築する方法を紹介します。
1. 準備:
2. サーバーの構築:
以下は、Workerman フレームワークを使用して構築された簡単な PHP サーバー コードの例です。この例では、通信に WebSocket プロトコルを使用します。
// 引入Workerman的命名空间 use WorkermanWorker; use WorkermanLibTimer; // 创建一个Worker对象,端口为1234 $ws_worker = new Worker("websocket://0.0.0.0:1234"); // 设置进程数 $ws_worker->count = 4; // 客户端连接时的处理函数 $ws_worker->onConnect = function($connection) { echo "New connection "; }; // 客户端断开连接时的处理函数 $ws_worker->onClose = function($connection) { echo "Connection closed "; }; // 收到客户端消息时的处理函数 $ws_worker->onMessage = function($connection, $data) use ($ws_worker) { // 向所有客户端广播消息 foreach($ws_worker->connections as $client_connection) { $client_connection->send($data); } }; // 启动Worker Worker::runAll();
上記のコードは、WebSocket サーバーを作成し、ポート 1234 をリッスンします。クライアント接続時はonConnect関数、クライアント切断時はonClose関数、クライアント送信メッセージ受信時はonMessage関数が呼び出されます。
3. クライアント実装:
Unity3D では、WebSocketSharp プラグインを使用して WebSocket クライアントの機能を実装できます。以下は、単純なチャット インターフェイスを実装する単純な Unity3D コードの例です。
using UnityEngine; using System.Collections; using WebSocketSharp; public class ChatHandler : MonoBehaviour { // WebSocket客户端对象 WebSocket ws; // 服务器地址 public string serverUrl = "ws://localhost:1234/"; // 客户端名称 public string clientName = "UnityClient"; // 聊天消息 public string message = ""; // Start方法,程序启动时会自动调用 void Start() { // 创建WebSocket客户端对象 ws = new WebSocket(serverUrl); // 当收到服务器消息时的处理函数 ws.OnMessage += (sender, e) => { Debug.Log("Received: " + e.Data); }; // 连接服务器 ws.Connect(); // 发送客户端名称给服务器 ws.Send(clientName); } // Update方法,每帧更新时会自动调用 void Update() { // 发送消息给服务器 if (Input.GetKeyDown(KeyCode.Return)) { ws.Send(message); // 清空输入框 message = ""; } } // 程序关闭时会自动调用 void OnApplicationQuit() { // 断开WebSocket连接 ws.Close(); } }
上記のコードでは、まず WebSocket クライアント オブジェクト ws を作成し、接続するサーバーのアドレスとクライアント名を設定します。 Start メソッドでは、サーバー メッセージを受信したときの処理関数をバインドし、ws.Connect() を通じてサーバーに接続し、クライアント名をサーバーに送信します。 Update メソッドでは、ユーザーがチャット入力ボックスで Enter キーを押すことを監視し、メッセージをサーバーに送信します。 OnApplicationQuit メソッドでは、プログラムを閉じるときに WebSocket を切断します。
4. テストの実行:
サーバーとクライアントをテストするには、PHP コードをサーバーにデプロイし、クライアント コードを Unity3D で実行する必要があります。サーバーとクライアントの両方が適切に実行されており、相互に通信できることを確認してください。
5. 概要:
この記事では、Workerman フレームワークを使用して、PHP と Unity3D でリアルタイム チャット アプリケーションを構築する方法を紹介します。サーバー側の PHP コードとクライアント側の Unity3D コードを通じて、シンプルなリアルタイム チャット アプリケーションを実装できます。この例は、リアルタイム通信アプリケーションを学習および開発するための出発点として使用でき、独自のニーズやアプリケーション シナリオに応じて拡張および最適化できます。楽しんで開発してください!
以上がWorkerman を使用して PHP と Unity3D でリアルタイム チャット アプリケーションを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。