Cara menggunakan Workerman untuk melaksanakan fungsi pengesahan log masuk pengguna PHP dan Unity3D
Pengenalan:
Apabila membangunkan aplikasi web atau permainan, fungsi pengesahan log masuk pengguna adalah bahagian penting. Memandangkan PHP ialah bahasa arus perdana untuk pembangunan web, Unity3D ialah alat yang popular untuk pembangunan permainan Bagaimana untuk melaksanakan fungsi pengesahan log masuk pengguna antara PHP dan Unity3D telah menjadi topik hangat. Artikel ini akan memperkenalkan cara menggunakan Workerman untuk melaksanakan fungsi pengesahan log masuk pengguna PHP dan Unity3D.
1. Apakah itu Pekerja?
Workerman ialah rangka kerja pembangunan dipacu peristiwa tak segerak berprestasi tinggi berdasarkan PHP, yang boleh digunakan untuk membina pelbagai aplikasi rangkaian berprestasi tinggi. Workerman menyediakan satu set lengkap antara muka pengaturcaraan rangkaian, yang boleh membuat pelayan TCP/UDP dengan mudah dan melaksanakan fungsi seperti pemesejan segera dan pelayan permainan.
2. Analisis keperluan:
Fungsi yang perlu kami laksanakan ialah pelayan PHP digunakan untuk pengesahan log masuk pengguna, dan klien Unity3D melengkapkan proses pengesahan log masuk pengguna dengan berkomunikasi dengan pelayan PHP. Proses khusus adalah seperti berikut:
3. Pelaksanaan kod:
Kod pelanggan 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); } } }
Kod pelayan 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. Arahan untuk penggunaan:
/path/to/workerman
; /path/to/workerman
;login.php
文件,并放置在任意一个Web服务器可以访问的目录下;php /path/to/workerman/start.php start -d
Buat antara muka log masuk dalam Unity3D dan tambahkan kod klien Unity3D di atas pada acara OnClick pada butang log masuk pelayan, simpan kod pelayan PHP di atas sebagai fail login.php
dan letakkannya dalam direktori yang boleh diakses oleh mana-mana pelayan web php /path /to/workerman; /start.php start -d
;Atas ialah kandungan terperinci Cara menggunakan Workerman untuk melaksanakan fungsi pengesahan log masuk pengguna PHP dan Unity3D. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!