Ötletek szerver-kliensek kapcsolatra

Ötletek szerver-kliensek kapcsolatra
2005-03-10T15:37:04+01:00
2005-03-24T14:02:34+01:00
2022-11-01T01:50:37+01:00
  • Nem olvastam végig a topicot, de nekem is van egy ötletem:

    Ha új játékot kezd valaki, ő lessz a szerver és az ip címe bekerül egy ingyenes webtárhely adatbázisába a játék nevével együtt ("Game01", "123.45.67.89")
    Aki csatlakozni akar a "Game01" -hez megkapja a szerver ip-jét és mehet a játék :)
    Mutasd a teljes hozzászólást!
  • Gnutella protocol : Gnutella - A Protocol for a Revolution

    Gnutella egy filecserelo progi, ami egy teljesen elosztott p2p halozatra epul. Az alapotlet szerint minden kliens egyenrangu es mindegyik kliens egy par masikat ismer csupan a halozatbol,csak hozzajuk kapcsolodik.A csomagok terjedese egy egyszeru elarasztasos elvet kovet azaz mindegyik kliens mindegyik szomszedjanak tovabbkuldi a beerkezett csomagokat (persze ahonnan kapta oda nem kuldi ). Az elonye a dolognak, azon kivul, hogy nagyon egyszeru es konnyu megtervezni egy ilyen protocolt, hogy nagyon hibaturo a rendszer.Nem szamit hany gep lep le/fel a halozatra egy ido egyseg alatt, nem terhelodik tul semmilyen gep.

    Chord :http://www.pdos.lcs.mit.edu/chord/

    Ez egy (DHT = Distributed Hash Tables) elosztott hash tablakat hasznalo algoritmus.Ez egy kicsit komplexebb mint hogy ket sorban leirjam, de a lenyege hogy egy adott informacio megkereses a halozatban ennel a megoldasnal lenyegesen gyorsabb mint a gnutella szeru elarasztasos keresesnel.

    Amugy a temanak eleg komoly irodalma van, ha erdekel kuldok egy par linket, de a gnutella-rfc szerintem boven eleg.
    A DHT-s rendszereket nem is tudom minek emlitettem meg hisz a te alkalmazasodhoz ezek kifejezetten nem jok. A DHT-s rendszereknel csak olyan informaciora tudunk rakeresni aminek ismerjuk a hash-et, inkabb elosztott adatbazisokhoz jok.
    Mutasd a teljes hozzászólást!
  • boj hozzászólása felett átsiklottatok. Én is a SOAP-ot ajánlanám.
    Ezügyben érdemes nézelődni a w3c honlapjain (pl. itt)
    Mutasd a teljes hozzászólást!
  • Hi.

    Az en otletemnel sem kell kivulrol elerni az sql szerveruket.
    Jobben viszont mar nem tudom elmagyarazni.

    Udv.: Ben
    Mutasd a teljes hozzászólást!
  • "gnutella-szeru vagy vmi DHT-s megoldas pl chord"

    Ezt kifejthetnéd, mert egy kukkot sem értettem belőle...
    Mutasd a teljes hozzászólást!
  • Pont az ilyen problemakra jok szerintem a peer to peer rendszerek. Lehet vmi egeszen egyszeru pl gnutella-szeru vagy vmi DHT-s megoldas pl chord ( ehhez egyebkent van free lib is ). A lenyeg h nem kell karbantartani a halozatot/szervert megis mukodik az egesz.

    JoKaD
    Mutasd a teljes hozzászólást!
  • A MYSQL ötlet kifulladt, mivel kívűlről nem lehet hozzáférni azt írja az uw.hu. esetleg más ötlet? Mostmár csak az enyém marad?:(
    Mutasd a teljes hozzászólást!
  • Lassan feltaláljátok a soap/wsdl-t:)
    Mutasd a teljes hozzászólást!
  • "Nekem is van egy otletem: PHP-ban lehet irni egy ingyenes tarhelyre egy kis kodot, amely parameterben megkapja az inditott server tulajdonsagait es egy sql tablaban tarolja azokat"

    És ezt úgy gondolod, hogy a programon belül elindít egy PHP filet?

    Hogyha igen, akkor hogyan? Pl egy webbrowser-el? ezt a részét nem értem nagyon..


    Nem. Ugy gondoltam, hogy az ingyenes tarhelyen van a php-script. Jon egy oldallekeres, ami a parametereiben megadja a (jatek)server tulajdonsagait(ip, jatek neve, stb.). A script beteszi az adatbazisaba, es mondjuk visszaadja azt, hogy
    OK
    . A (jatek)szerver a valaszbol tudni fogja, hogy minden rendben. (Persze elegge leegyszerusitve irtam.) Remelem ertheto, erti egyaltalan valaki??

    Ez különben nagyon megterhelné? Teszem azt minden kliens minden másodpercben töltené le az adatbázisból a dolgokat.


    Nemtudom. Netes, php-s dolgokban nem vagyok otthon.

    Ha nem XML-el, akkor mivel?


    Exit szerencsere irt egy XML parsert.

    Udv.: Ben
    Mutasd a teljes hozzászólást!
  • C++ ala is van XML parser lib /pl.: libxml/ ugyhogy, ha az XML jo neked, akkor szvsz maradj annal.
    Mutasd a teljes hozzászólást!
  • "Nekem is van egy otletem: PHP-ban lehet irni egy ingyenes tarhelyre egy kis kodot, amely parameterben megkapja az inditott server tulajdonsagait es egy sql tablaban tarolja azokat"

    És ezt úgy gondolod, hogy a programon belül elindít egy PHP filet?

    Hogyha igen, akkor hogyan? Pl egy webbrowser-el? ezt a részét nem értem nagyon..
    Mutasd a teljes hozzászólást!
  • "Ha igen, akkor ezeket is lehet tarolni egy tablaban, de ebben az esetben a keresek is aranyosan nonek(a jatekos-lista letolteserol nem is szolva. de ugy gondolom, hogy lehet rajta javitani optimalizalni)."

    Ez különben nagyon megterhelné? Teszem azt minden kliens minden másodpercben töltené le az adatbázisból a dolgokat.

    PHP-nél szokott olyan lennei, hogyha mittomén egyszerre nagyon sok user tölt le vmit az adatbázisból, akkor kiír valami dumát, hogy próbálja meg később, túl van terhelve stb.

    És végül:

    Ha nem XML-el, akkor mivel?
    Ha kell megírom az értelmezőt is, csak létszi konkretizálj.
    Mutasd a teljes hozzászólást!
  • Hi.

    Nem kell xml-el csinalni, azt csak azert irtam mert .net kornyezetben konnyebb azt hasznalni mint irni a sajat ertelmezot.

    Udv.: Ben
    Mutasd a teljes hozzászólást!
  • Ben: az XML-es ötlet nem jó sztem, mert majd később átírom egy olyan ynelvre ahol nincs olyan sztem. ez a nyelv lehet DEVC++ is, vagy VB6.

    Esetleg vki egy másik megoldást?

    Vagy olyan megoldás is jó lenne, hogy ne kelljen bepötyögni mindig az XY IP-jét, hogy azt az IP-t felismerje. Lehetséges ilyet?
    Mutasd a teljes hozzászólást!
  • Így már érthető. Persze. Nyitsz egy socketet az IP/portra, küldesz üzit, pl HELLO. ha erre a szerver progid válaszol, hogy pl HELLO, akkor müxik. Ha nem válaszol (timeout) akkor vagy nem müx, vagy el van foglalva. Igy müxik pl a pop3, smtp stb protokoll.
    Mutasd a teljes hozzászólást!
  • Bocsi kicsit elírtam ott vmit:)

    Tehát: PL hogyha a te ötletedet alkalmaznám: azaz megfogom és lesz egy szerver gép, ami mindig megy, ez ha úgy tetszik MASTER SZERVER lesz.

    Tehát lehetne egy PHP oldal bárhol, ami lekérdezné a gép állapotát, illetve hogy a megadott IP/PORT:on fut e az a szerver progi aminek kell. Remélem érted már. Meg lehetne oldani?
    Mutasd a teljes hozzászólást!
  • PL ha szeretném megoldani azt, hogy egy PHP oldalon meglehessen nézni, hogy éppen be van e kapcsolva pl a szerver gép indul. Megoldható?


    Ezt nem értem, induljon be a szerver, ha ránéz egy php oldal vagy mitis?

    Na mind1 van 1 újabb 5letem: láttam egy olan játékot hogy irc torpedó. Itt a két kliens ua irc csatornára lépett fel, és egy sima txt-ben implementált protokollon torpedóztak egymással a kliensek. Arra kell ügyelni, hogy a csati jelszóval/bottal védett legyen, nehogy a betévedő csetelők elrontsák a protokollt.
    Mutasd a teljes hozzászólást!
  • Okés utánanézek ennek az XML-es dolognak, utána jelentkezem holnap:)


    Ok, sok sikert.

    szeretném, ha mki aki benn van az online módban, az lássa az összes online LEHETSÉGES játékost. Így aki belép elsőre, annak elküldené az ip.-jét vhová (?) ez lehet file vagy MYSQL tábla is akár.

    Ez az akar lenni, hogy ne csak a szervereket listazza ki?


    Ha igen, akkor ezeket is lehet tarolni egy tablaban, de ebben az esetben a keresek is aranyosan nonek(a jatekos-lista letolteserol nem is szolva. de ugy gondolom, hogy lehet rajta javitani optimalizalni).

    Udv.: Ben
    Mutasd a teljes hozzászólást!
  • "Ez az akar lenni, hogy ne csak a szervereket listazza ki? "

    Igen, hanem azokat is akik benn vannak. Tehát akik a játékon belül beléptek az ONLINE módba. Így majd lehet X, Y-nak felkérést küldeni játékra etc.
    Mutasd a teljes hozzászólást!
  • Okés utánanézek ennek az XML-es dolognak, utána jelentkezem holnap:)
    Mutasd a teljes hozzászólást!
  • Talan igy meg erthetobb lesz:

    try { szerver_list = games_szerver.load(); szerver_list.parseXMLDatabase(); } catch(DownloadException) { Print("A szerverlista letoltese sikertelen") } catch(ParseException) { Print("Serult szerverlista. Az adatok kinyerese sikertelen."); }
    Mutasd a teljes hozzászólást!
  • szeretném, ha mki aki benn van az online módban, az lássa az összes online LEHETSÉGES játékost. Így aki belép elsőre, annak elküldené az ip.-jét vhová (?) ez lehet file vagy MYSQL tábla is akár.


    Ez az akar lenni, hogy ne csak a szervereket listazza ki?
    Mutasd a teljes hozzászólást!
  • "Az ftp-s szerintem azert nem jo, mert ha a szervernel pl. resetelnek, akkor nem torlodik a file. "

    Hmm... mármint melyik szervernél?:))


    Termeszetesen a jatek-szervernel.

    ha a srác belép az online módba, akkor:
    szeretném, ha mki aki benn van az online módban, az lássa az összes online LEHETSÉGES játékost. Így aki belép elsőre, annak elküldené az ip.-jét vhová (?) ez lehet file vagy MYSQL tábla is akár.

    Így megvannak a userek.
    Ezt hogan oldanád meg?


    Neigazan ertem a kerdest.

    Hogyha: error-t ad vissza a PHP (ezt hogyan ellenőrzöm le?)


    Peldaul ezt kapja a kliens aki lekerte a szervelistat:

    <Jatekszerver Pistike uber(join barki)> <IP xxx.xxx.xxx.xxx> <Join Time 05.03.10-17:44:15> <Last Contact 05.03.10:17:45> <Full No> </Jatekszerver>

    .Net-ben, ha jol tudom - es jol emlekszem, hogy abban csinalod a jatekot - lehet xml file-bol az adatokat egy tablaba rakni(talan valami loadXMLShema), ha exception-t dob, vagy ilyesmi, akkor lehet kiirni, hogy Error.... Ha nincs hiba, akkor a tablaban megvannak az adatok, lehet kiirni a szerverlistat.

    Remelem igy erthetobb volt.

    Ben
    Mutasd a teljes hozzászólást!
  • "Az ftp-s szerintem azert nem jo, mert ha a szervernel pl. resetelnek, akkor nem torlodik a file. "

    Hmm... mármint melyik szervernél?:))

    Elmondom (leírom) hogyan gondolom.
    Tehát kezdetben van egy

    -player vs AI
    -online mode
    -exit

    ez csak példa

    ha a srác belép az online módba, akkor:
    szeretném, ha mki aki benn van az online módban, az lássa az összes online LEHETSÉGES játékost. Így aki belép elsőre, annak elküldené az ip.-jét vhová (?) ez lehet file vagy MYSQL tábla is akár.

    Így megvannak a userek.
    Ezt hogan oldanád meg?

    Mellesleg az előbbi hsz-edet nem nagyon értettem. Tehát ha indít vki egy szervert, akkor mondjuk beír egy nevet neki stb ki indította meg iylenek, ezt beadja egy php-nek ami feldolgozza MYSQL-ben egy adatbázisba. Hogyha: error-t ad vissza a PHP (ezt hogyan ellenőrzöm le?), akkor kiírja ezt OpenGL-ben, kérem ....nincs kapcs, stb.

    Hogyha nincs error, akkor elküldi a cuccokat, belerakja tehát a táblába, és utána mi van a config file-el? Ez a része nem világos..
    Mutasd a teljes hozzászólást!
  • Hi.

    Ha az online módból kilép az ipse, akkor ezt a txt filet törli. Ez sztem elég gáz megoldás-> mi van ha nincs ftp elérés? Persze ugyanez a helyzet a MYSQL-es dologgal is.


    Az ftp-s szerintem azert nem jo, mert ha a szervernel pl. resetelnek, akkor nem torlodik a file. A webes-nel, pedig a php script csinalhat egy ellenorzest, hogy azokat a szervereket torli az adatbazisbol, amik pl. egy perce nem adtak hirt magukrol, es ezutan kuldi el a szerverlistat.

    Mert mi van, hogyha error lesz vagy hasonlók. (Ahol ingyenes tárhelyem van, sajnos gyakran megesik)


    Ajandek lonak....
    Hiba a szervelista letoltesekor. Kerem probalja ujra.

    Udv.: Ben
    Mutasd a teljes hozzászólást!
  • "A legolcsóbb, ha felteszel egy kiszuperált 486-ost adsl-re, fix ip nem árt, de dyndns áthidalja. "

    Egy kérdés:

    PL ha szeretném megoldani azt, hogy egy PHP oldalon meglehessen nézni, hogy éppen be van e kapcsolva pl a szerver gép indul. Megoldható?
    Mutasd a teljes hozzászólást!
  • Ben! Énis hasonlóra gondoltam. Illetve egy másik egyszerűbb megoldásra, azaz, hogy egy ftp térhelyen pl létrehozok txt file-okat, azaz ki van benn éppen. Mondjuk a file neve ilyen lenne:

    t190_222_11_11.txt

    Amikor csatizik vki pl az online játékra, akkor ftp-vel létrehoz neki egy ilyen filet, a file tartalma tetszőleges, mondjuk az emberke nevét és IP-jét, + kiegészítő adatokat.

    Ha az online módból kilép az ipse, akkor ezt a txt filet törli. Ez sztem elég gáz megoldás-> mi van ha nincs ftp elérés? Persze ugyanez a helyzet a MYSQL-es dologgal is. Mert mi van, hogyha error lesz vagy hasonlók. (Ahol ingyenes tárhelyem van, sajnos gyakran megesik)
    Mutasd a teljes hozzászólást!
  • Hi.

    1 használható ötletem van, de az sztem nagyon gázos.:(


    Nekem is van egy otletem: PHP-ban lehet irni egy ingyenes tarhelyre egy kis kodot, amely parameterben megkapja az inditott server tulajdonsagait es egy sql tablaban tarolja azokat. Ha egy keres erkezik egy klienstol, akkor pedig visszaad egy megformazott tablazatot, amit mar tud ertelmezni.
    Lehet egy config file amely tartalmazza a szerver cimet, es a szerver oda kuldi a tulajdonsagokat, a kliens meg oda csatlakozik a szerverlistaert. Ingyen megvan, keres annyira nem tul sok megy a szerverhez(login, kb. felpercenkent egy megerosites, hogy meg el a szerver, status valtozas(pl. betelt a szerver), logout) hogy letiltsak(ha meg igen, akkor meg csak a conf. filet kell atirni az uj szerverhez). Es lehet meg neki csinalni egy webes feluletet, ahol megjelennek az aktiv szerverek, statisztikak, stb.

    Udv.: Ben
    Mutasd a teljes hozzászólást!
  • létrehozzak mindenféle PÉNZ nélkül egy központi szervert

    Ez igy nem fog menni. A quake szerverek sincsenek ingyen. Egy ingyenes szolgáltató nem fog neked daemon futtatási lehetőséget adni, főleg portot nem. De fizetős sem. Szóval saját szerver kell, ami lóg a neten állandóan.
    A legolcsóbb, ha felteszel egy kiszuperált 486-ost adsl-re, fix ip nem árt, de dyndns áthidalja. Persze a legtöbb szerződésben benne van, hogy szerver üzemeltetés tilos, de a kutya nem foglalkozik vele.
    Mutasd a teljes hozzászólást!
  • 1 használható ötletem van, de az sztem nagyon gázos.:(
    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