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.
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.
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:
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'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);
}
}
}
require_once __dir__. '/workerman/autoloader.php';
Utiliser Workerman \ Worker;
<p>$ Worker = New Worker ('TCP: //0.0.0.0: 8000');</p>
<p>$ worker-> onMessage = function ($ connection, $ data) {<br>
$ requestData = json_decode ($ data, true);<br>
$ username = $ requestData ['username'];<br>
$ mot de passe = $ requestData ['mot de passe'];</p>
<pre>// Vérifiez le nom d'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 ();
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.