Jos mulla on vaikka tällanen php scripti:
Se lähettelee siis sekunnin välein "a" merkkiä ja pitää yhteyden niin kauan auki kun mahollista, niin kuluttaako toi auki oleva yhteys kaistaa yhtään? Siis noiden "a"-kirjainten kuluttaman kaistan lisäks?
Ei minun ymmärtääkseni. Pieni mittaus kännykällä antoi tulokseksi, että aina kun palvelin lähettää tuon a-kirjaimen, dataa kulkee palvelimelta asiakkaalle 58 tavua ja asiakkaalta palvelimelle 52 tavua. Koodi oli sama, muutin vain sleep(1) => sleep(20). Koodi täällä, jos joku muu haluaa mittailla.
Hmm.. mitähän turhaa se oikee lähettää siinä mukana, kun 58 tavua on aika paljon a-kirjaimesta :o
No ei se oikeen riitä, että sinne verkkoon kirjoittaa kirjaimen 'a' :) Täytyy siinä ip-viestissä samalla lähettää paljon muutakin, yhtenä oleellisimmista tiedoista mm. vastaanottajan osoite.
No eikö muka ip, portti ja viesti riitä?
No ei. En jaksa spekkejä kaivaa, mutta ainakin vastaanottajan ip, lähettäjän ip, portti, tarkistussummat, protokolla ja n tavua muuta schaissea :)
Edit: Tosin voihan olla että sieltä tulee oikeasti useampi viesti. En tiedä hirveän syvällisesti mitä dataa tuossa oikeasti kulkee. Ja ei tuo minun mittausmenetelmänikään ehkä se absoluuttinen totuus ole... :D Mutta varmasti siellä kulkee dataa enemmän kuin tuo a-merkki. Ja näyttäisi, että ei kulje dataa, jos et sitä puskuria lähetä clientille.
Vielä yks kyssä tätä sivuten. Jos teen javascriptin joka avaa yhteyden tohon, niin onko mahollista lähettää siltä javascriptiltä tolle php scriptille tietoa avaamatta uutta yhteyttä? Että sais molempisuuntasen vuorovaikutteisen yhteyden.
Kokeilin jotain tällasta, mut ei tuntunu toimivan.
Avaan yhteyden, mutten suljekaan sitä..
request.open("POST", file, true); request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8"); request.setRequestHeader("Content-length", params.length); //request.setRequestHeader("Connection", "close"); request.send(params);
Ja sitte myöhemmin yritän lähettää dataa samalla yhteydellä:
request.send("test=asd");
ja tos PHP scriptissä on tällanen:
<?php set_time_limit(0); while(true){ if(isset($_POST['test'])){ echo 'SANOIT: '.$_POST['test']; } flush(); ob_flush(); usleep(100000); //Nukutaan kymmenesosa sekunti } ?>
Moikka Matso!
Käytä AJAXia
neau33 kirjoitti:
Moikka Matso!
Käytä AJAXia
En nyt tiedä mitä tolla meinaat. Ihan "AJAX" periaatteella, eli Javascrriptillä HTTP requestia luon jne.. mutta ideana olis, että ei tulis sitä viivettä aina luoda yhteyttä uudelleen. Eli pitäs saada JS:llä yhteys pysymään auki PHP scriptiin, niin tiedon siirto olis nopeempaa.
Eli yritän saada molemminpuoleista aktiivista yhteyttä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.