Topic: Informacijos perdavimas gyvai

Sveiki.
Ieskau budu , kaip perduot informacija lankytojui gyvai , kai lankytojas neperkrovineje puslapio.
Kolkas naudoju jquery, ir su post metodu  kas kelias sec. siunciu informacija i php , o lankytojui su post metodu ja uzkrauna kas kelias sec.
Taigi gal zinot kitokiu budu tai padaryti? Informacija butu labai smulki 10~20 simboliu.

Dar naudojau as3/flex , bet blogai tas , kad kiekviena kart uzejus lankytojui reikia sutikti del duomenu perdavimo , cia apie flash.

2 (edited by zygis 2012-08-17 17:20:00)

Re: Informacijos perdavimas gyvai

http://bit.ly/15FSms

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

3 (edited by Avice 2012-08-17 19:34:41)

Re: Informacijos perdavimas gyvai

Dekui.
Ir ar toks metodas neapkraus labai serverio su dideliu online skaiciumi?
php kodo pradzia:

header("Cache-Control: no-cache, must-revalidate");
apache_setenv('no-gzip', 1);
ini_set('zlib.output_compression', 0);
ini_set('output_buffering', 'Off');
ini_set('implicit_flush', 1);
ob_implicit_flush(1);

4 (edited by Avice 2012-08-17 21:22:03)

Re: Informacijos perdavimas gyvai

Beto ar imanoma istrint senus duomenis pries isiunciant naujus? Jei taip kokiu metodu?
Naudoju javascript XMLHttpRequest ir vis naujinant duomenis gaunu ir senus , tai gal yra budu juos isvalyt?
Pvz.:
Pirma karta gaunu:
1
Antra kart:
12
tracia kart:
123
O as noriu: pirma:1 , antra:2 , trecia:3 , kiekviena kart isvalytu senus.

Re: Informacijos perdavimas gyvai

O kuom blogai yra naudotis jau parašytomis bibliotekomis?

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: Informacijos perdavimas gyvai

Avice wrote:

Dekui.
Ir ar toks metodas neapkraus labai serverio su dideliu online skaiciumi?
php kodo pradzia:

header("Cache-Control: no-cache, must-revalidate");
apache_setenv('no-gzip', 1);
ini_set('zlib.output_compression', 0);
ini_set('output_buffering', 'Off');
ini_set('implicit_flush', 1);
ob_implicit_flush(1);

Na taip elgtis turėtų būti labai rimta priežastis, nebent tai skirta ajax užklausoms.

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: Informacijos perdavimas gyvai

zygis wrote:

O kuom blogai yra naudotis jau parašytomis bibliotekomis?

Pavyzdziui?
Kolkas pasidares , kad kas 2 minutes persiustu isnaujo.
Ir kai vyksta siuntimas ar imanoma keist/nusiust naujus duomenis is narsykles?

Re: Informacijos perdavimas gyvai

Su asinchroninėmis užklausomis galima.
Dėl bibliotekų turėjau omenyje, kad nereikia rašyti savų ajax varikliukų. Gi yra jau parašytų ir veikiančių tiesiog puikiai.

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: Informacijos perdavimas gyvai

zygis wrote:

Su asinchroninėmis užklausomis galima.
Dėl bibliotekų turėjau omenyje, kad nereikia rašyti savų ajax varikliukų. Gi yra jau parašytų ir veikiančių tiesiog puikiai.

Tai nera jokio atvirkstinio comet budo siust is narsykles i serveri ?

Re: Informacijos perdavimas gyvai

Ką turi galvoje?

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: Informacijos perdavimas gyvai

Jau aisku del duomenu siuntimo i narsykle.
Dabar noriu siust duomenis post ar kt. metodu is narsykles i serveri kas kokia 0.5~1 s. Tai dabar kas ~0.5 s. siust vis nauja ajax uzklausa? ar yra kitokiu metodu.

Re: Informacijos perdavimas gyvai

http://socket.io/
http://blog.mysql.lt/websocket-ir-php.html

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: Informacijos perdavimas gyvai

to Avice: o nacheram taip dosint serva? Siaip uzklausa i serveri turetum siusti tik tuo atveju jei kazkas esminio pakinta (apie ka turi zinoti ir kiti useriai, arba tai ka reikia fiksuoti serveryje).

Gal tu geriau iskarto rasyk ka nori padaryti, nes panasu, kad jau pjauni i lankas. Bandai kazka suburti per daug sudetingai, kai galima kurkas paprasciau (-;

Re: Informacijos perdavimas gyvai

Na va galiausiai paleidau ta node js su socket.io ant linux debian.
Viskas veikia tik viena problema iskilo.
Kai konsoleje per putty rasau "node app.js" jis startuoja , bet kai isjungiu putty jis tiesiog issijungia.
Tai klausimas kaip paleisti tai , kad uzbaigus sesija su ssh jis neisijungtu??

Re: Informacijos perdavimas gyvai

sudo npm install -g forever;
o tada: forever start app.js;

arba: node app.js &;
Bet tada jei programėlė nuluš - niekas jos neprikels.

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: Informacijos perdavimas gyvai

Dekui suveike su forever ;]
Stai demo: http://82.135.154.76:85/
Beto ar jis labai daug resursu valgo? Jei tarkim prisijungs daug zmoniu?

Re: Informacijos perdavimas gyvai

Pirma problema galės būti: http://stackoverflow.com/questions/1098 … -socket-io
O dėl RAM kažkur lyg ir užmatės esu, kad vienas connectionas +4K RAM, bet nesu tikras ar ten apie socket.io kalba ėjo.

Dar dėl resursų yra klausimas kiek visko blogai pats parašei :)
http://blog.mysql.lt/nodejs.html (žr video)

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: Informacijos perdavimas gyvai

Mhm , jei gerai uzmatei , tai +4000 labai mazai.

P.S Nebutina siust ivairiausiu kodu mano demo puslapije.
Jog duomenis nera filtruojami ir t.t.

Re: Informacijos perdavimas gyvai

<script type="text/javascript">
var $a = function() {$($('textarea')[0]).fadeOut(1000,$o);}
var $o = function() {$($('textarea')[0]).fadeIn(1000,$a);}
$o();

var $a2 = function() {$($('input')[0]).fadeOut(1000,$o2);}
var $o2 = function() {$($('input')[0]).fadeIn(1000,$a2);}
$o2();

$($('input')[0]).css('position','absolute');
var $a3 = function() {$($('input')[0]).animate({top:Math.floor((Math.random()*1000)+1),left:Math.floor((Math.random()*1000)+1)},1000,$o3);}
var $o3 = function() {$($('input')[0]).animate({top:Math.floor((Math.random()*1000)+1),left:Math.floor((Math.random()*1000)+1)},1000,$a3);}
$o3();

setInterval(function() {
$('#turinys').prepend(Math.random()+'<br />');
},800);

</script>

šitas jau plius minus ok :D

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: Informacijos perdavimas gyvai

zygis wrote:
<script type="text/javascript">
var $a = function() {$($('textarea')[0]).fadeOut(1000,$o);}
var $o = function() {$($('textarea')[0]).fadeIn(1000,$a);}
$o();

var $a2 = function() {$($('input')[0]).fadeOut(1000,$o2);}
var $o2 = function() {$($('input')[0]).fadeIn(1000,$a2);}
$o2();

$($('input')[0]).css('position','absolute');
var $a3 = function() {$($('input')[0]).animate({top:Math.floor((Math.random()*1000)+1),left:Math.floor((Math.random()*1000)+1)},1000,$o3);}
var $o3 = function() {$($('input')[0]).animate({top:Math.floor((Math.random()*1000)+1),left:Math.floor((Math.random()*1000)+1)},1000,$a3);}
$o3();

setInterval(function() {
$('#turinys').prepend(Math.random()+'<br />');
},800);

</script>

šitas jau plius minus ok :D

Pamegink dabar :D