Position actuelle: Accueil> Derniers articles> Comment utiliser Workerman pour implémenter la fonction d'authentification de la connexion des utilisateurs dans PHP et Unity3d

Comment utiliser Workerman pour implémenter la fonction d'authentification de la connexion des utilisateurs dans PHP et Unity3d

M66 2025-06-03

Comment implémenter la fonction de vérification de la connexion de l'utilisateur de PHP et Unity3d via Workerman

Dans l'application Web et le développement de jeux, la fonction d'authentification de la connexion de l'utilisateur est un composant central. En tant que langue populaire pour le développement Web, Unity3D est largement utilisée dans le développement de jeux. Lorsque nous devons combiner ces deux, comment implémenter la fonctionnalité d'authentification des utilisateurs entre PHP et Unity3d est devenue une exigence commune. Cet article utilisera le framework Workerman pour vous montrer comment implémenter l'authentification de la connexion des utilisateurs pour PHP et Unity3d.

1. Qu'est-ce que Workerman?

Workerman est un cadre asynchrone à haute performance basé sur des événements basé sur PHP, conçu pour construire des applications réseau très concurrentes. Il prend en charge le protocole TCP / UDP, convient à la création d'applications telles que la messagerie instantanée, les serveurs de jeux, etc., et a des performances extrêmement élevées et peut facilement gérer un grand nombre de connexions simultanées. Workerman est un choix idéal pour les applications qui nécessitent des performances élevées et une faible latence.

2. Analyse des exigences

Ce que nous devons implémenter, c'est un serveur basé sur PHP pour effectuer une authentification de connexion des utilisateurs et permettre au client Unity3D d'interagir avec le serveur via le réseau pour terminer l'authentification de connexion. Le processus spécifique est le suivant:

  1. Le client Unity3D envoie le nom d'utilisateur et le mot de passe de l'utilisateur au serveur PHP.
  2. Le serveur PHP vérifie l'exactitude du nom d'utilisateur et du mot de passe.
  3. Le serveur PHP renvoie le résultat de vérification au client Unity3d et le client effectue un traitement correspondant en fonction des résultats.

3. Implémentation du code

Code client Unity3d:

Utilisation de System.Collections;
Utilisation d'unityEngine;
Utilisation d'UnityEngine.networking;
<p>LoginManager de classe publique: 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>
Nom d&#39;utilisateur de chaîne publique;<br>
Mot de passe de chaîne publique;</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);
    }
}

}

Code du serveur PHP:

require_once __dir__. &#39;/workerman/autoloader.php&#39;;
Utiliser 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>
$ mot de passe = $ requestData [&#39;mot de passe&#39;];</p>
<pre>// Vérifiez le nom d&#39;utilisateur et le mot de passe
if ($username == 'admin' && $password == '123456') {
    $connection->send(json_encode(['result' => true]));
} else {
    $connection->send(json_encode(['result' => false]));
}

};

Travailleur :: runall ();

4. Instructions pour une utilisation

  1. Tout d'abord, téléchargez et dézip le framework Workerman dans un répertoire du serveur PHP, par exemple: / path / to / workerman.
  2. Créez une interface de connexion dans Unity3d et liez le code client ci-dessus à l'événement onClick du bouton de connexion.
  3. Sur un serveur PHP, enregistrez le code PHP ci-dessus en tant que login.php et placez-le dans un chemin accessible au serveur Web.
  4. Démarrer le serveur Workerman: php /path/to/workerman/start.php start -d.
  5. Exécutez le client Unity3D, entrez le nom d'utilisateur et le mot de passe corrects, cliquez sur le bouton de connexion, le client Unity3D enverra une demande de connexion au serveur PHP et le serveur renvoie le résultat de vérification du nom d'utilisateur et du mot de passe.

5. Résumé

Cet article montre comment utiliser le framework Workerman pour implémenter l'authentification de la connexion des utilisateurs entre PHP et Unity3d. Avec l'exemple de code ci-dessus, vous pouvez facilement établir un système d'authentification de connexion efficace entre le client Unity3D et le serveur PHP. Les avantages à haute performance de Workerman rendent la communication entre PHP et Unity3d plus lisse, particulièrement adapté aux scénarios de concurrence élevés.