Multithreading
2010-07-27T19:17:04+02:00
2010-09-25T17:10:55+02:00
2022-07-24T23:22:26+02:00
  • Üdv!

    Mi ennek az elve? Adatbazist kell hasznalnom es abba menteni mindent? Aztan valahogy kivalogatni az embereket? Vagy van ennek szebb megoldasa is?

    Jól sejted, alap HTTP kérésekkel dolgozva ez lenne a megoldás, le kéne válogatni, hogy ki kivel játszik épp, tárolni kell az épp folyamatban lévő játékok állapotát, és gondoskodni a felhasználók utasításainak megfelelő változtatásokról, valamint hogy a játékosok (kliensek) követni tudják a változásokat.
    Alap HTTP-nél a böngésző kérést küld, majd a webszerver válaszol . Innentől a kérésnek vége, szerver csak egyszer küld eredményt. Ha újra adatot szeretnénk kapni, akkor új kérést kell indítani, így a kliensek időnként lekérik a szervertől a frissített játékállapotot. Sokszor előfordul hogy semmi változás nem történt, így a kérés fölösleges tűnhet, de mivel a szerver nem tudja értesíteni a klienseket a változásról, így muszáj lekéregetni az adatokat időközönként.

    A belinkelt WebSocket technológia még elég új, és arra alkalmas, hogy a fent leírt 'egy kérés - egy eredmény' korlátot feloldd, és az időzített lekéréseket megspórold.

    A websocket alapú kapcsolatnak a lényege, hogy mind a szerver, mind a kliens tud a már nyitott kapcsolaton keresztül adatot küldeni. Tehát nem kell a szervert folyamatosan terhelni a kérésekkel, mert a nyitott websocket kapcsolaton oda-vissza lehet küldeni az adatokat bármikor mindenféle kérések nélkül. Így nem lesz fölös adatforgalom sem.

    [szerk]
    Még nekem is homályos egy kicsit a technika, nem vagyok benne biztos, hogy a webszerver lesz a websocketes szerver is, vagy ki lesz jelölve a kliensek közül minden megkezdett játéknak. Ezt majd az okosabbak megmondják.
    Mutasd a teljes hozzászólást!
  • Kicsit ködös nekem ami a link alatt található. Kifejtened egy ket mondatban, hogy hogyan is mukodnek azok a kodok amik a linkelt oldalon vannak?
    Mutasd a teljes hozzászólást!
  • Itt egy érdekes, szép és új módja (chrome vagy safari kell hozzá): Experimenting with Node.js - Jeff Kreeftmeijer
    Mutasd a teljes hozzászólást!
  • Sziasztok!
    Irtam egy programkodot, igazabol jatekfelenek keszul...Bongeszorol beszelek, PHP-val irodott a program. Azt nem udom megcsinalni, hogy ket ember ugyanazt lassa a monitoron es egymas ellen jatszhasson. Ugy ertem olyan a programom ami veletlenul general dolgokat minden egyes inditaskor, ugye ha en belepek meg mas belep mindenkinek mast fog mutatni az oldal. Nekem valami olyasmi kene, hogy egymassal le tudjon ulni ket ember jatszani. Nyitni nekik valami "helyet" ahol csak kette hamran x-en vannak bent... Mi ennek az elve? Adatbazist kell hasznalnom es abba menteni mindent? Aztan valahogy kivalogatni az embereket? Vagy van ennek szebb megoldasa is? Ha erthetetlenul irtam szoljatok, megprobalom atfogalmazni, csak igazabol en se tudom pontosan, hogy hogyan kene leirnom a problemamat
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd