live резултат

lorda_

Registered
Здравейте, как работи ливе съобщенията на фейсбук. Без да презаредиш да ти показва 1 известие, или че някой е писал?

Примерен код :oops:
 
С AJAX , ето ти два урока :
http://web-tourist.net/login/login/view.php?st=2892
http://web-tourist.net/login/login/view.php?st=2942
също така има много подобни теми във форума ако искаш се поразрови с търсачката
 
В тези линкове пак е за рефреш, но там се иска участие на потребителя.
Моята идея е сървъра сам да провери дали има 1 нов запис в базата, и ако има да го извади като резултат.

прнципа на фейсбук е точно това, което целя. Стоиш си в сайта и изведнъж ти икача (1) съобщение :)
 
Елементарно е правиш го с ajax. Правиш една функция, която да ти проверява БДто за нови съобщения и и слагаш някакъв интервал, да кажем 1,2,3 секунди както искаш.
 
Правиш си един файл: вътре да има заявка, която проверява дали има нови съобщения.

После: Правиш си един <div> на страницата, която искаш инклудваш файла с заявката и слагаш този JS код някъде преди да затвориш <head>:


<script>
var refreshIt = setInterval(function(){
$('#името на дива').load('името на файла с заявката.php');
}, 10000);
</script>


10000 - ти е интервала през който да се рефрешва, ако не се лъжа това са 10 секунди. :)
Успех :)
 
Това на всеки 10 сек прави проверка. На мен ми трябва по алтернативен начин.. при случай да го изпълни и запази в кеш най-вероятно. В този случай пусни си FireBug и гледай какво става... през 1 секунда прави заявка, и то при престой на потребителя в страницата.

Ако са 10 000 онлайн? Не разполагам с такива ресурси за сървър 8)

Върти ми се в главата нещо като cronjob + time() и кеширане при действие на 3 то лице.

Това ми трябва за лични съобщения. И когато един потребител изпрати на друг ( само тогава да изпълни този рефреш на лицето на което изпраща, и ако е онлайн веднага да му излезе )
а не постоянно да върти цикли със заявки.
 
трябва ти тази технология http://en.wikipedia.org/wiki/Push_technology , която и fb ползва

от там нататък решаваш какъв подход да предприемеш.
 

Back
Горе