live резултат

C++ JAVA
Post Reply
lorda_
Нов
Нов
Posts: 45
Joined: Tue Jan 31, 2012 11:37 am

live резултат

Post by lorda_ » Thu May 10, 2012 11:03 pm

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

Примерен код :oops:

User avatar
stoqnski
Гуру
Гуру
Posts: 2037
Joined: Mon Sep 10, 2007 4:39 pm
Answers: 122
Location: гр.Сливен

Post by stoqnski » Thu May 10, 2012 11:56 pm

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

lorda_
Нов
Нов
Posts: 45
Joined: Tue Jan 31, 2012 11:37 am

Post by lorda_ » Fri May 11, 2012 12:27 am

В тези линкове пак е за рефреш, но там се иска участие на потребителя.
Моята идея е сървъра сам да провери дали има 1 нов запис в базата, и ако има да го извади като резултат.

прнципа на фейсбук е точно това, което целя. Стоиш си в сайта и изведнъж ти икача (1) съобщение :)

Radko
Потребител
Потребител
Posts: 651
Joined: Mon Jun 18, 2007 2:22 pm
Answers: 87
Location: София

Post by Radko » Fri May 11, 2012 3:45 am

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

0u7
Потребител
Потребител
Posts: 1084
Joined: Mon May 18, 2009 4:10 pm
Answers: 83

Post by 0u7 » Fri May 11, 2012 5:53 am

Правиш си един файл: вътре да има заявка, която проверява дали има нови съобщения.

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

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

10000 - ти е интервала през който да се рефрешва, ако не се лъжа това са 10 секунди. :)
Успех :)

lorda_
Нов
Нов
Posts: 45
Joined: Tue Jan 31, 2012 11:37 am

Post by lorda_ » Fri May 11, 2012 7:22 am

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

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

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

Това ми трябва за лични съобщения. И когато един потребител изпрати на друг ( само тогава да изпълни този рефреш на лицето на което изпраща, и ако е онлайн веднага да му излезе )
а не постоянно да върти цикли със заявки.

User avatar
lortnoc
Турист
Турист
Posts: 545
Joined: Mon Jul 09, 2007 4:57 am
Answers: 125
Location: Пловдив

Post by lortnoc » Sat May 12, 2012 8:58 pm

трябва ти тази технология http://en.wikipedia.org/wiki/Push_technology , която и fb ползва

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

Post Reply