Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan Workerman untuk melaksanakan fungsi pengesahan log masuk pengguna PHP dan Unity3D

Cara menggunakan Workerman untuk melaksanakan fungsi pengesahan log masuk pengguna PHP dan Unity3D

WBOY
WBOYasal
2023-07-17 19:39:071032semak imbas

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:

  1. Pelanggan Unity3D menghantar nama pengguna dan kata laluan pengguna ke pelayan PHP
  2. Selepas menerima permintaan, pelayan PHP mengesahkan ketepatan nama pengguna dan kata laluan
  3. Pelayan PHP mengembalikan hasil pengesahan kepada pelanggan Unity3D , pelanggan boleh membuat pemprosesan yang sepadan berdasarkan hasil yang dikembalikan.

3. Pelaksanaan kod:

  1. 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);
         }
     }
    }
  2. 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:

    s kod sumber ke direktori A dalam pelayan PHP, seperti /path/to/workerman;
  1. /path/to/workerman
  2. 在Unity3D中创建一个登录界面,并将上述Unity3D客户端代码添加到登录按钮的OnClick事件中;
  3. 在PHP服务器中,将上述PHP服务器代码保存为login.php文件,并放置在任意一个Web服务器可以访问的目录下;
  4. 启动Workerman服务器:php /path/to/workerman/start.php start -dBuat 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
  5. Mulakan pelayan Workerman: php /path /to/workerman; /start.php start -d
Jalankan klien Unity3D, masukkan nama pengguna dan kata laluan yang betul, klik butang log masuk, klien Unity3D akan menghantar permintaan log masuk ke pelayan PHP, dan pelayan PHP mengembalikan hasil pengesahan Nama pengguna dan kata laluan.


5. Ringkasan: 🎜Artikel ini memperkenalkan cara menggunakan Workerman untuk melaksanakan fungsi pengesahan log masuk pengguna PHP dan Unity3D. Melalui kod sampel di atas, kita boleh belajar cara menghantar permintaan log masuk ke pelayan PHP pada klien Unity3D dan membuat pemprosesan yang sepadan berdasarkan hasil pengesahan yang dikembalikan oleh pelayan PHP. Melalui Workerman, rangka kerja pengaturcaraan rangkaian berprestasi tinggi, kami boleh mencapai komunikasi antara PHP dan Unity3D dengan mudah. Semoga artikel ini dapat membantu anda. 🎜

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn