現在の位置: ホーム> 最新記事一覧> Workermanを使用してPHPおよびUNITY3Dでユーザーログイン認証機能を実装する方法

Workermanを使用してPHPおよびUNITY3Dでユーザーログイン認証機能を実装する方法

M66 2025-06-03

Workermanを介してPHPおよびUnity3dのユーザーログイン検証機能を実装する方法

Webアプリケーションとゲーム開発では、ユーザーログイン認証関数はコアコンポーネントです。 Web開発に人気のある言語として、Unity3Dはゲーム開発で広く使用されています。これら2つを組み合わせる必要がある場合、PHPとUnity3Dの間にユーザー認証機能を実装する方法が共通の要件になりました。この記事では、Workerman Frameworkを使用して、PHPおよびUnity3Dのユーザーログイン認証を実装する方法を示します。

1. Workermanとは何ですか?

Workermanは、PHPに基づいた高性能の非同期イベント駆動型フレームワークであり、非常に並行したネットワークアプリケーションを構築するために設計されています。 TCP/UDPプロトコルをサポートし、インスタントメッセージング、ゲームサーバーなどのアプリケーションを構築するのに適しており、パフォーマンスが非常に高く、多数の同時接続を簡単に処理できます。 Workermanは、高性能と低遅延を必要とするアプリケーションに理想的な選択肢です。

2。要件分析

実装する必要があるのは、ユーザーログイン認証を実行するPHPベースのサーバーであり、Unity3Dクライアントがネットワークを介してサーバーと対話してログイン認証を完了できるようにすることです。特定のプロセスは次のとおりです。

  1. Unity3Dクライアントは、ユーザーのユーザー名とパスワードをPHPサーバーに送信します。
  2. PHPサーバーは、ユーザー名とパスワードの正しさを検証します。
  3. PHPサーバーは、検証結果をUnity3Dクライアントに返し、クライアントは結果に基づいて対応する処理を処理します。

3。コード実装

Unity3Dクライアントコード:

System.Collectionsを使用します。
UnityEngineの使用。
UnityEngine.networkingを使用します。
<p>パブリッククラスのログインマネージャー:Monobehaviour<br>
{<br>
public string loginurl = " <a rel="noopener" target="_new" class="" href="http://your-php-server.com/login.php">http://your-php-server.com/login.php</a> ";<br>
パブリック文字列ユーザー名前;<br>
パブリック文字列パスワード。</p>
<pre>public void Login()
{
    StartCoroutine(DoLogin());
}

IEnumerator DoLogin()
{
    WWWForm form = new WWWForm();
    form.AddField("username", username);
    form.AddField("password", password);

    UnityWebRequest www = UnityWebRequest.Post(loginUrl, form);
    yield return www.SendWebRequest();

    if (www.isNetworkError || www.isHttpError)
    {
        Debug.Log(www.error);
    }
    else
    {
        Debug.Log(www.downloadHandler.text);
    }
}

}

PHPサーバーコード:

require_once __dir__。 &#39;/workerman/autoloader.php&#39;;
Workerman \ Workerを使用してください。
<p>$ worker = new Worker( &#39;tcp://0.0.0.0:8000&#39;);</p>
<p>$ worker-> onmessage = function($ connection、$ data){<br>
$ requestData = json_decode($ data、true);<br>
$ username = $ requestdata [&#39;username&#39;];<br>
$ password = $ requestData [&#39;password&#39;];</p>
<pre>// 验证用户名前和密码
if ($username == 'admin' && $password == '123456') {
    $connection->send(json_encode(['result' => true]));
} else {
    $connection->send(json_encode(['result' => false]));
}

};

労働者:: ranall();

4。使用の指示

  1. まず、WorkermanフレームワークをPHPサーバーのディレクトリにダウンロードして解凍します。
  2. Unity3Dでログインインターフェイスを作成し、上記のクライアントコードをログインボタンのオンクリックイベントにバインドします。
  3. PHPサーバーで、上記のPHPコードをlogin.phpとして保存し、Webサーバーがアクセスできるパスに配置します。
  4. Workerman Serverを開始:php/path/to/workerman/start.php start -d。
  5. Unity3Dクライアントを実行し、正しいユーザー名とパスワードを入力し、ログインボタンをクリックし、Unity3DクライアントはPHPサーバーにログイン要求を送信し、サーバーはユーザー名とパスワードの確認結果を返します。

5。概要

この記事では、Workerman Frameworkを使用して、PHPとUnity3Dの間にユーザーログイン認証を実装する方法を示しています。上記のコードの例を使用すると、Unity3DクライアントとPHPサーバーの間で効率的なログイン認証システムを簡単に確立できます。 Workermanの高性能の利点により、PHPとUnity3Dの間の通信がよりスムーズになります。特に、同時性の高いシナリオに適しています。