လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP နှင့် Unity3D: စွမ်းဆောင်ရည်မြင့်ကွန်ယက်ဆက်သွယ်ရေးစနစ်တည်ဆောက်ရန် workerman ကိုအသုံးပြုခြင်း

PHP နှင့် Unity3D: စွမ်းဆောင်ရည်မြင့်ကွန်ယက်ဆက်သွယ်ရေးစနစ်တည်ဆောက်ရန် workerman ကိုအသုံးပြုခြင်း

M66 2025-06-24

PHP နှင့် Unity3D ၏နောက်ခံ

PHP သည်ဆာဗာဖွံ့ဖြိုးတိုးတက်မှုအတွက်အသုံးပြုလေ့ရှိပြီး Unity3D သည် Cross-platform gacing gaming နှင့် Interactive အတွေ့အကြုံများတည်ဆောက်ရန်အင်ဂျင်ဖြစ်သည်။ ဤနည်းပညာပုံစံနှစ်ခုသည်လုံးဝကွဲပြားသော်လည်းနှစ် ဦး ၏ပေါင်းစပ်မှုသည်အထူးသဖြင့် Multiplayer ဂိမ်းများနှင့် Real-time interactive system များတွင်အထူးသဖြင့်ကြီးမားသောအလားအလာကိုဖော်ထုတ်နိုင်သည်။

workerman ကိုမိတ်ဆက်

Workerman သည်စွမ်းဆောင်ရည်မြင့်မားသော atynchronous network compacen ည့်သည်ဆက်သွယ်ရေးမူဘောင်ဖြစ်သည်။ ၎င်းသည် TCP, UDP, Websound ကဲ့သို့သောပရိုတိုကောများ (ဥပမာ TCP, UDP, Websound ကဲ့သို့) နှင့်ကောင်းမွန်သောတစ်ပြိုင်နက်တည်းလုပ်ဆောင်နိုင်စွမ်းစွမ်းရည်ရှိသည်။ developer များနှင့် developer များနှင့်အတူ developer များကတည်ငြိမ်။ ထိရောက်သောကွန်ယက်ဝန်ဆောင်မှုများကိုအလွယ်တကူဖန်တီးနိုင်သည်။

Workerman ကို Install လုပ်နည်း

Workerman ၏တရားဝင်ဝက်ဘ်ဆိုက်မှ source code ကို download ရယူပြီး၎င်းကိုကိုယ်တိုင်ထည့်သွင်းနိုင်သည်, သို့မဟုတ်သင် composer မှတဆင့် install လုပ်နိုင်သည်။

 composer require workerman/workerman

PHP Side: Workerman-based TCP ဝန်ဆောင်မှုဥပမာ

ဆာဗာဘက်တွင်ကျွန်ုပ်တို့သည် Unity3D client နှင့်ဆက်သွယ်ရန် TCP 0 န်ဆောင်မှုကိုဖန်တီးရန် tcp ဝန်ဆောင်မှုကိုဖန်တီးရန် Workerman ကိုသုံးနိုင်သည်။ ဤတွင်အခြေခံ ECHO ဆာဗာအကောင်အထည်ဖော်မှုဖြစ်သည်။

<?php
require_once 'Workerman/Autoloader.php';

use Workerman\Worker;

$worker = new Worker("tcp://0.0.0.0:1234");

$worker-> Onconnect = function ကို ($ ဆက်သွယ်မှု) {
    ECHO "အသစ်ဆက်သွယ်မှု \ n";
};

$ 0 န်ထမ်း -> onmessage = function ($ ဆက်သွယ်မှု, $ ဒေတာ) {
    $ ဆက်သွယ်မှု -> Send ($ ဒေတာ);
};

$ 0 န်ထမ်း -> Onclose = function ($ ဆက်သွယ်မှု) {
    ECHO "ဆက်သွယ်မှုပိတ်ထားသော \ n";
};

အလုပ်သမား :: Runall ();
>

Unity3D client: C # connect နှင့်မက်ဆေ့ခ်ျများပို့ပါ

UNITY3D ဘက်တွင် TCP ဆက်သွယ်မှုကို C # script များဖြင့် TCP ဆက်သွယ်မှုကိုတည်ဆောက်ပြီးမက်ဆေ့ခ်ျများပို့နိုင်သည်။

unityengine ကိုအသုံးပြုခြင်း;
system.net.sockets ကိုအသုံးပြုခြင်း;
system.text ကိုအသုံးပြုခြင်း;

Public Class Client: Monobehaviour
{
    ပုဂ္ဂလိက TCPCLIENTIGH CLORM;
    ပုဂ္ဂလိကကွန်ယက်စီးဆင်းမှု,

    ပျက်ပြယ်စတင် ()
    {
        client = TCPCLIDENT ("localhost" အသစ်, 1234);
        stream = client.gettstream ();
        SendMessage ("Hello, World!");
    }

    LOCK SISSMASSage (String Message)
    {
        byte [] ဒေတာ = encoding.ascii.getbytes (သတင်းစကား);
        stream.write (ဒေတာ, 0, data.length);
    }

    ondestroy ပျက်ပြယ် ()
    {
        stream.close ();
        client.close.Close ();
    }
}

ဆက်သွယ်ရေးလုပ်ငန်းစဉ်ခွဲခြမ်းစိတ်ဖြာခြင်း

နမူနာကုဒ်မှတွေ့မြင်နိုင်သည့်အတိုင်း Unity3D သည် TCPClient မှတစ်ဆင့် PHP မှ backend နှင့်ချိတ်ဆက်ထားပြီးသတင်းစကားကိုပေးပို့ပြီးနောက်၎င်းသည်ဆာဗာမှဖြစ်သည်။ အသုံးပြုသူ authentication, data retchronization, Real-time Notifications စသည့်နောက်ဆက်တွဲ extensions များအတွက်အခြေခံကျသည်။

လက်တွေ့ကျသောလျှောက်လွှာတိုးချဲ့ခြင်း

ဤဥပမာသည်ရိုးရှင်းသော်လည်း Unity3D နှင့် PHP server အကြားဆက်သွယ်ရေး၏အဓိကအကြံအစည်ကိုဖော်ပြသည်။ Workerman's Logic Layer ကိုတိုးချဲ့ခြင်းအားဖြင့်အောက်ပါလုပ်ဆောင်ချက်များကိုသင်အကောင်အထည်ဖော်နိုင်သည်။

  • ကစားသမားများအတွက် Real-time တိုက်ပွဲယုတ္တိဗေဒ

  • အကြိမ်ကြိမ် chat ခန်းမ

  • Real-time ဒေတာထုတ်လွှင့်

  • client ကိုမှဆာဗာပေါ်ရှိဖြစ်ရပ်များကိုတွန်းအားပေး

အကျဉ်းချုပ်

PHP ကို ​​Unity3D နှင့်အတူ အသုံးပြု. အလုပ်ရှင်၏မြင့်မားသောတစ်ပြိုင်နက်တည်း allynchronous processing စွမ်းရည်ဖြင့် developer များကထိရောက်သော, ဤဖြေရှင်းချက်သည်အထူးသဖြင့်စက်ပစ္စည်းဖွံ့ဖြိုးတိုးတက်မှုအတွက်ပြောင်းလွယ်ပြင်လွယ်။ အရွယ်အစားအမျိုးမျိုးဗိသုကာပံ့ပိုးမှုပေးရန်အတွက်အထူးသဖြင့်ကစားရန်အတွက်အထူးသဖြင့်သင့်တော်သည်။