Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Comet käytännössä?

Sivun loppuun

Matso [14.05.2008 12:46:38]

#

Toimiiko Comet tekniikka käytännössä webhotelleissa? Jos esim. 1000 käyttäjää samanaikasesti ja jokasta palvelee oma PHP scriptinsä. Onko tollasta samanaikasta PHP scriptien suoritusta rajoitettu yleensä webhotelleissa?

Ja kuinkahan yleistä on, että PHP:n time limittiä ei ole tai sen voi säätää funktiolla pois päältä? Tietty vaikka toi time limitti olis joku 30 sec, niin voi käyttää sitä Comet tekniikkaa, että yhdistää aina uusiks kun servu katkasee.

Puhutaan nyt kohtuuhintasista webhotelleista, esim 20-50€ / vuosi.

Putkalainen [15.05.2008 16:01:08]

#

Ulkomaalaisia webhotelleja löytyy tuohon hintahaarukkaan luultavasti paljonkin. Suomalaisista en sitten tiedä.

Matso [15.05.2008 17:09:20]

#

Putkalainen kirjoitti:

Ulkomaalaisia webhotelleja löytyy tuohon hintahaarukkaan luultavasti paljonkin. Suomalaisista en sitten tiedä.

Webhotelleja löytyy kyllä vaikka ilmaseks. Meinaatko että noihin mun vaatimuksiin sopiviakin löytyy? Jos, ni annas sitten linkkiä?

Putkalainen [16.05.2008 16:25:33]

#

1000 käyttäjää samanaikaisesti pyörittävää ei tuohon hintaan varmaan löydy. Mutta jos 80 prosessia kerralla riittää niin esim. http://www.bluehost.com/

Matso [16.05.2008 18:15:23]

#

No joo toi 1000 on ehkä vähän liioteltu. 100 vois olla realistisempi luku :p. Aika suosittu palvelu täytyynee olla et tuhatta olis kerral..

Tuolta sun linkistä
"UNLIMITED Hosting Space"

Herättää tollane mainostus jo vähän epäilyjä, onko noiden servut sairaan hitaita vai onko tiedostokoko rajotus jotain 100kt...

Putkalainen [16.05.2008 22:54:55]

#

Pari viikkoa olen Bluehostia kokeillu ja tähän mennessä kokemukset ovat olleet ainoastaan positiivisia. Asiakaspalvelu toimii loistavasti ja ominaisuudet ovat olleet hyvät.

Tänään juuri päivittivät 15Gigan levytilan ja liikennöintikapasiteetin rajoittamattomaan. Ei ole hidas. Eikä ole minkään näköisiä rajoituksia tiedostokoolle. 30 sekunnin time limitti PHP:ssä pieni miinus. Mutta hintaansa nähden tuo on loistava paketti.

Jos jollakin muulla on kokemuksia Bluehostista niin olisin kiinnostunut kuulemaan.

punppis [17.05.2008 01:23:56]

#

Nyt on pakko kysyä, että mikä on Comet tekniikka? Google ei auttanut :(

Matso [17.05.2008 01:51:36]

#

Putkalainen: Ootko kokeillut PHP:n set_time_limit(sek) funktiota, saako sillä säädettyä timelimittiä?

punppis kirjoitti:

Nyt on pakko kysyä, että mikä on Comet tekniikka? Google ei auttanut :(

Engl. Wikipediasta: Comet (Programming)

Lyhyesti: kun käyttäjä ottaa servulla olevaan scriptiin yhteyden niin scripti pitää yhteyden auki ja lähettää uutta dataa käyttäjälle sillon kun sitä on saatavilla.

while(true){
  echo $data;
  flush();
  sleep(1);
}

Tietty sitten ottamalla vaikka AJAX:illa yhteyden tohon scriptiin, saadaan se siististi pyörimään taustalla.

Putkalainen [17.05.2008 20:49:59]

#

Matso kirjoitti:

Putkalainen: Ootko kokeillut PHP:n set_time_limit(sek) funktiota, saako sillä säädettyä timelimittiä?

Ei saa 30 sekuntia pidemmäksi. Mutta tuon voi varmaan ohittaa reconnectaamalla? (En kyllä tiedä miten)

ajv [18.05.2008 21:43:16]

#

set_time_limit(0) => ei aikarajaa

Putkalainen [18.05.2008 22:13:29]

#

Kappas ovat tainneet tuonkin päivittää! Eli time limittiä ei enään ole.

<?php
set_time_limit(0);
$data = "moi";
while(true){
echo $data;
flush();
sleep(1);
}
?>

^Toimii hienosti

punppis [20.05.2008 09:39:12]

#

Mutta mikäs hyöyty tästä Comet-tekniikasta on sitten käytännössä? Eikös tuo yhden php-skrpitin loputon looppaaminen vie aika paljon servulta tehoja? Eikö olisi järkevämpää tehdä php-skripti, joka tulostaa jotain vaikka GET-parametrien perusteella, ja ottaa siihen yhteyttä vähän väliä AJAXin avulla. Näin sivua ei tarvitse ladata uudestaan, eikä servun tehoja käytetä hukkaan.

Matso [21.05.2008 00:27:19]

#

punppis kirjoitti:

Mutta mikäs hyöyty tästä Comet-tekniikasta on sitten käytännössä? Eikös tuo yhden php-skrpitin loputon looppaaminen vie aika paljon servulta tehoja? Eikö olisi järkevämpää tehdä php-skripti, joka tulostaa jotain vaikka GET-parametrien perusteella, ja ottaa siihen yhteyttä vähän väliä AJAXin avulla. Näin sivua ei tarvitse ladata uudestaan, eikä servun tehoja käytetä hukkaan.

Riippuu siitä mitä tekee. Jos tieto täytyy saada mahdollisimman nopeasti, kuluttaa AJAX kyselyt kaistaa todella paljon. Esimerkiks sekunnin välein teet pyyntöjä servulle niin kyl siinä kaistaa menee. Comet ei kuluta kaistaa lainkaan odotustilassa.

Teeppä vaikka chatti, niin edes sekunnin välein tehtävä tarkistus ei ole välttämättä riittävä (viiveen huomaa varsin hyvin). Cometissa tieto siirtyy kutakuinkin heti, koska yhteys pidetään auki.

punppis [21.05.2008 14:35:32]

#

Mutta eikös siihen looppiskriptaankin pidä ottaa vähän väliä yhteyttä ajaxilla, joka taas kuluttaa kaistaa yhtäpaljon. Muutenkin mielestäni on paljon järkevämpää kuluttaa hieman enemmän selaajan kaistaa, kun kuluttaa rutkasti enemmän palvelimen resursseja.

makas [22.05.2008 00:46:44]

#

Tietääkseni jotkut hosting-palvelujen tarjoajat ovat kieltäneet Comet-tekniikan käytön kokonaan, jopa palvelun sulkemisen uhalla.. Mutta en mene takuuseen.. :D

Matso [26.05.2008 16:46:19]

#

punppis kirjoitti:

Mutta eikös siihen looppiskriptaankin pidä ottaa vähän väliä yhteyttä ajaxilla, joka taas kuluttaa kaistaa yhtäpaljon. Muutenkin mielestäni on paljon järkevämpää kuluttaa hieman enemmän selaajan kaistaa, kun kuluttaa rutkasti enemmän palvelimen resursseja.

Mikä siinä on niin sairaan vaikeeta ymmärtää??

Cometin kaistan käyttö odotustilassa ~= 0
Ajaxin kaistan käyttö odotustilassa: 0.001-9999MB/h

Cometilla ei kulu sitä kaistaa yhtään mihinkään eikä sen ajax scriptin tarvii ottaa yhtään mihinkään yhteyttä uudestaan ennenkun jompikumpi puoli katkasee yhteyden.

Otetaan vaikka esimerkiks IRC. Ei irkissäkään IRC-clientit kysele IRC-palvelimelta 0,01 sekunnin välein onx uusii viestejä saatavilla.

punppis [27.05.2008 13:53:27]

#

Matso kirjoitti:

Cometin kaistan käyttö odotustilassa ~= 0
Ajaxin kaistan käyttö odotustilassa: 0.001-9999MB/h

Cometilla ei kulu sitä kaistaa yhtään mihinkään eikä sen ajax scriptin tarvii ottaa yhtään mihinkään yhteyttä uudestaan ennenkun jompikumpi puoli katkasee yhteyden.

Voisko tästä antaa jotain konkreettista esimerkkiä, kun en vain suostu tajuamaan tätä ;D

Tai siis tottakai sen Comet-skriptan kaistan käyttö on 0, mutta miten tiedetään, että koska sitä pitää kutsua?

Matso [28.05.2008 00:54:10]

#

punppis kirjoitti:

Matso kirjoitti:

Cometin kaistan käyttö odotustilassa ~= 0
Ajaxin kaistan käyttö odotustilassa: 0.001-9999MB/h

Cometilla ei kulu sitä kaistaa yhtään mihinkään eikä sen ajax scriptin tarvii ottaa yhtään mihinkään yhteyttä uudestaan ennenkun jompikumpi puoli katkasee yhteyden.

Voisko tästä antaa jotain konkreettista esimerkkiä, kun en vain suostu tajuamaan tätä ;D

Tai siis tottakai sen Comet-skriptan kaistan käyttö on 0, mutta miten tiedetään, että koska sitä pitää kutsua?

Ihan huvikseenko trollaat, vai etkö oikeesti tajua näin yksinkertasta juttua? LUE SIITÄ -> http://en.wikipedia.org/wiki/Comet_(programming)

punppis [28.05.2008 22:41:08]

#

Ok, nyt kun tutkin enemmän niin tajusin kyllä. Luulin aluksi, että tuo on vain käytännössä php-skripti jota loopataan, mutta tarvitaanhan siihen selainpuoleltakin javascriptiä.

Matso [29.05.2008 15:56:11]

#

punppis kirjoitti:

Ok, nyt kun tutkin enemmän niin tajusin kyllä. Luulin aluksi, että tuo on vain käytännössä php-skripti jota loopataan, mutta tarvitaanhan siihen selainpuoleltakin javascriptiä.

Ei välttämättä, mutta käytännössä JavaScript on paras tapa hyödyntää kyseistä tekniikkaa. Otetaan AJAX:illa yhteys tuohon PHP scriptiin niin se rullaa siististi taustalla.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta