Comet vagy statikus file

Comet vagy statikus file
2011-02-15T19:25:19+01:00
2011-02-16T11:13:41+01:00
2022-10-26T21:15:36+02:00
  • Úgy olvastam, hogy comet kiszolgálására is szoktak PHPt használni - révén hogy egy átlag szerveren nincs más.


    Egyrészt érdekelne, hogy ezt hol olvastad, másrészt nálad mi számít átlagos szervernek?

    Ha azt írod, hogy egy átlagos ingyenes vagy legalábbis nagyon olcsó szolgáltatónál nincs más, mint php, akkor azt elhiszem. De úgy általánosságban beszélni átlagos szerverről, azért elég meredek dolog! (Azt nem is említve, hogy a szerver fogalma elég tág, hiszen nem csak webszerverek léteznek a világon ugyebár).

    A weblaboros cikk pedig egy problémakörre adható különböző lehetséges válaszokat mutatja be elég szépen, de a demonstrációs kód értelemszerűen egyszerű. Ha ezt próbálod meg az életbe átültetni, akkor biza gondjaid lesznek a comet-tel. Gondolok itt olyasmire, hogy mondjuk az apache-ok alapértelmezetten 30mp után kilövik a futó szkripteket és még nem nagyon láttam ingyenes vagy olcsó szolgáltatónál hosszabb lejárati időt (van ilyen, de nem jellemző).

    Php-comet kapcsán is inkább egy php socket server-re lesz szükséged, hogy hatékonyan működjön a dolog, de egy ingyenes vagy olcsó szolgáltatón jó eséllyel már működésre sem tudod bírni vagy a teljesítménye marad el a kívánatostól.

    Ráadásul ott az a tény, amit már ketten is említettünk: php-ban nincs eseménykezelés, szal a kliens oldali pollozást a szerver oldalra teszed át, csupán ennyi történik. Java-ban és python-ban már készültek olyan keretrendszerek, amelyekben eseményeken keresztül lehetséges a különböző kapcsolatok között adatokat küldeni, tehát az egyes kapcsolatoknak nem kell rendszeresen az adatbázist kérdezgetniük, hogy volt-e változás.

    De egy saját szerveren egy php-s socket server segítségével már php-ban is készíthetsz egész jó comet-es alkalmazásokat. De egy saját szerver vagy egy vps már azért egy drágább dolog.
    Mutasd a teljes hozzászólást!
  • Nem mindegy, ezek nem olyan egetrengető dolgok, hogy meghalna tőlük a gép.
    Mutasd a teljes hozzászólást!
  • Köszi!

    Ha jól értem, ezt a memcached dolgot PHP- val tudom kezelni?

    Melyik lehet erőforrás igényesebb, sima txt fájlt megnyitni, vagy ez a gyors lekérdezés, de PHP igenybevetelevel?
    Mutasd a teljes hozzászólást!
  • Memcached - Wikipedia, the free encyclopedia

    Php azért rossz, mert nem tud eseményt kezelni, csak ez a ciklusos megoldása van.
    Mutasd a teljes hozzászólást!
  • Gondoltam, ha tudod, hogy a PHP a LEGrosszabb, akkor a legjobbat is tudod...
    Amúgy itt van egy jó leírás: Valós idejű web Javascript alapokon - áttekintés . Weblabor
    itt a szerző PHPval mutatja be.

    Viszont ezt a memóriában tárolást ki tudnád jobban fejteni, mert ötletem sincs mivel és hogyan tudnám ezt kezelni?
    Mutasd a teljes hozzászólást!
  • Hát keress rá, én csak php-ről tudok nyilatkozni
    Java és c# biztosan jók, de még elég sok programnyelv létezik.
    Mutasd a teljes hozzászólást!
  • Igen, ha jól tudom, IEnél kell trükközni iframe-mel, mashol csak a statust kell figyelni.
    Mutasd a teljes hozzászólást!
  • A timestamp remek ötlet, de hogyan tudom memóriába tenni és onnan kiolvasni?

    Ha a PHP a legrosszabb megoldás, akkor mi a legjobb comethez szerver oldalon?
    Mutasd a teljes hozzászólást!
  • A második megoldásnál timestampet használj, és jobb, ha a memóriába teszed, mintha külön fájlba. Ha visszaküldöd header-ben a legutóbbi frissítés timestamp-jét, akkor össze tudod hasonlítani, hogy van e új üzenet. Akár több beszélgetéshez tartozó üzentet is elküldhetsz egyszerre.

    A comet-ben nincs valami nagy tapasztalatom, azt hiszem iframe-el script tagekkel meg lehet oldani, meg van ahol be van építve a lehetőség az xhr-be is.

    Szerver oldalon a php comethez a lehető legrosszabb megoldás.
    Mutasd a teljes hozzászólást!
  • Úgy olvastam, hogy comet kiszolgálására is szoktak PHPt használni - révén hogy egy átlag szerveren nincs más.

    Igen, minden user kapna egy text fájlt, ami egyedi (csak válasz esetén írom), Illetve csak 2 user chatelhet egymással - több nem - így nem hiszem, hogy lockolni kéne - vagy így is kéne?
    Mutasd a teljes hozzászólást!
  • Egyik megoldáshoz sem kell php vagy mysql, más technológiűval is megoldható mindkettő.

    Viszont php nem olyan hatékony a nyitott kapcsolatok kezelésében, nincs eseménykezelő rendszere, szal a polling a kliensről átkerül a szerverre, de ennyi. Egyébként a gmail is ezt használja.

    A 2. megoldás pedig 1-2 felhasználónál ok, de ha lesz több tucat felhasználód, akkor mindegyiknél saját file-t használsz? És állandóan flock-olsz, meg hasonlók? jaj.
    Mutasd a teljes hozzászólást!
  • Az első megoldás jónak tűnik a referenciák miatt (facebook), a második saját ötlet, aminek előnye lehet, hogy a gyakori (másodperces) lekérdezés csak statikus fájlt érint és nem kell Hozzá PHP és mysql
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Egy chat lekérdezésén gondolkodom, két lehetőség között vacilálok:

    Comettel - inditok egy végtelen ciklust és másodpercenként nézem PHPval adatbázisból hogy van-e új üzenet

    vagy

    van a szerveren egy statikus (pl. Txt) fájl aminek a tartalma alapból 0, ha jön üzenet 1-re állitom és ezt nézi a kliens másodpercenként.

    Mindkét megoldásnál AJAX indítaná a lekérdezéseket.

    Melyik tűnik erőforrás takarékosabb megoldásnak?
    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