ホームページ  >  記事  >  バックエンド開発  >  Workermanを使ってPHPとUnity3Dのユーザーログイン認証機能を実装する方法

Workermanを使ってPHPとUnity3Dのユーザーログイン認証機能を実装する方法

WBOY
WBOYオリジナル
2023-07-17 19:39:07968ブラウズ

Workerman を使って PHP と Unity3D のユーザー ログイン認証機能を実装する方法

はじめに:
Web アプリケーションやゲームを開発する場合、ユーザー ログイン認証機能は必須の部分です。 Web開発言語としてPHPが主流であるように、ゲーム開発ツールとしてもUnity3Dが人気ですが、PHPとUnity3Dの間でユーザーログイン認証機能をどのように実装するかが話題となっています。この記事ではWorkermanを使ってPHPとUnity3Dのユーザーログイン認証機能を実装する方法を紹介します。

1. ワーカーマンとは何ですか?
Workerman は、PHP に基づく高性能の非同期イベント駆動型開発フレームワークであり、さまざまな高性能ネットワーク アプリケーションの構築に使用できます。 Workerman は、TCP/UDP サーバーを簡単に作成し、インスタント メッセージングやゲーム サーバーなどの機能を実装できるネットワーク プログラミング インターフェイスの完全なセットを提供します。

2. 要件分析:
実装する必要がある機能は、PHP サーバーがユーザーのログイン認証に使用され、Unity3D クライアントが PHP サーバーと通信することでユーザーのログイン検証プロセスを完了することです。具体的なプロセスは次のとおりです:

  1. Unity3D クライアントはユーザーのユーザー名とパスワードを PHP サーバーに送信します;
  2. PHP サーバーはリクエストを受信した後、そのリクエストが正しいことを検証します。ユーザー名とパスワード;
  3. PHP サーバーは検証結果を Unity3D クライアントに返し、クライアントは返された結果に基づいて対応する処理を行うことができます。

3. コード実装:

  1. Unity3D クライアント コード:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.Networking;
    
    public class LoginManager : MonoBehaviour
    {
     public string loginUrl = "http://your-php-server.com/login.php";
     public string username;
     public string password;
    
     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);
         }
     }
    }
  2. PHP サーバー コード:

    require_once __DIR__ . '/workerman/Autoloader.php';
    
    use WorkermanWorker;
    
    $worker = new Worker('tcp://0.0.0.0:8000');
    
    $worker->onMessage = function($connection, $data) {
     $requestData = json_decode($data, true);
    
     $username = $requestData['username'];
     $password = $requestData['password'];
    
     // 进行用户名和密码的验证
     if ($username == 'admin' && $password == '123456') {
         $connection->send(json_encode(['result' => true]));
     } else {
         $connection->send(json_encode(['result' => false]));
     }
    };
    
    Worker::runAll();

4. 使用手順:

  1. まず、Workerman のソース コードを PHP サーバー上のディレクトリ (/path /to など) にダウンロードして抽出します。 /workerman;
  2. Unity3D でログイン インターフェイスを作成し、上記の Unity3D クライアント コードをログイン ボタンの OnClick イベントに追加します。
  3. PHP サーバーで、上記の PHP サーバーを追加します。コードは login.php ファイルとして保存され、任意の Web サーバーからアクセスできるディレクトリに配置されます。
  4. Workerman サーバーを起動します: php /path/to/workerman /start。 php start -d;
  5. Unity3D クライアントを実行し、正しいユーザー名とパスワードを入力して、ログイン ボタンをクリックします。Unity3D クライアントはログイン要求を PHP サーバーに送信し、PHP サーバーは応答を返します。ユーザー名とパスワード 検証結果。

5. 概要:
この記事では、Workerman を使って PHP や Unity3D のユーザーログイン認証機能を実装する方法を紹介します。上記のサンプルコードを通じて、Unity3D クライアント上の PHP サーバーにログインリクエストを送信し、PHP サーバーから返された検証結果に基づいて対応する処理を行う方法を学習できます。高性能ネットワーク プログラミング フレームワークである Workerman を通じて、PHP と Unity3D 間の通信を簡単に実現できます。この記事があなたのお役に立てば幸いです。

以上がWorkermanを使ってPHPとUnity3Dのユーザーログイン認証機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。