Hur uppdateras nyhetsflödet automatiskt när databasen uppdateras?

Permalänk
Medlem

Hur uppdateras nyhetsflödet automatiskt när databasen uppdateras?

Hejsan!

Jag har ett problem, jag håller på och gör ett nyhetsflöde. Har skrivit den vanliga koden för att loopa ut nyheter från mysql med php. Jag skulle dock vilja att det här flödet uppdateras automatiskt så fort databasen ändras, utan att man behöver trycka nånstans. Jag antar att det är nån form av AJAX lösning jag letar efter...

Hur gör facebook? Hur kallar det på själva scriptet? Jag har noterat att flödet uppdateras först när webbsidan blir i fokus, alltså när man väljer facebook-fliken i webbläsaren. Har de en javascript funktion som går igång när man hoovrar med musen över sidan? Jag är inte jättevan med den här typen av script, arbetar mest i php. Flödet kan ju även uppdateras medan man är på sidan, så det lär vara en timer på den också eller? Det skulle ju bli fruktansvärt många förfrågningar till databasen annars...

Ovan nämnda funktion fungerar för ett nyhetsflöde ala facebook. Men om jag vill bygga en chat, då behöver sidan(flödet) uppdateras konstant, hur gör man då? Man kan väl inte skicka förfrågningar varje sekund till databasen, eller är det så man får lov att göra?

Visa signatur

Asus Zenbook UX32VD-R4002V.

Permalänk
Medlem

Jag brukar köra på timers i javascript och sköta ajaxen med jquery.
Om det inte fanns något nytt innehåll så ökas tiden till nästa kontroll via någon fin funktion F(t) (som inte behöver vara kontinuerlig) där t = anrop sedan senaste nya datan.
Du behöver ju inte anropa databasen, mer än att hämta det nya som har kommit, om du har ett fint cache system.

Visa signatur

citera!

Permalänk
Medlem

Du kan ju oxå pusha ut det med olika tekniker. Antingen bygga själv (som facebook) eller använda nån färdig typ APE.
http://www.ape-project.org/

riktig push blir de ju aldrig, men att ha en request liggandes och sedan vända på data där är det närmsta vi kommer push på webben

Permalänk
Medlem
Skrivet av =JoNaZ=:

Du kan ju oxå pusha ut det med olika tekniker. Antingen bygga själv (som facebook) eller använda nån färdig typ APE.
APE (Ajax Push Engine) :: Comet server :: Real time data streaming

riktig push blir de ju aldrig, men att ha en request liggandes och sedan vända på data där är det närmsta vi kommer push på webben

Helt klart ett mycket bättre sätt än vad jag föreslog! Det här ska utforskas

Visa signatur

citera!

Permalänk
Medlem
Skrivet av =JoNaZ=:

Du kan ju oxå pusha ut det med olika tekniker. Antingen bygga själv (som facebook) eller använda nån färdig typ APE.
APE (Ajax Push Engine) :: Comet server :: Real time data streaming

riktig push blir de ju aldrig, men att ha en request liggandes och sedan vända på data där är det närmsta vi kommer push på webben

Intressant! Hur fungerar ape-project, är det ett plugin till apache, eller har jag fattat helt fel?

Jag är inte så hemma på push, hur fungerar det, vad är skillnaden mot att ha en funktion som kollar databasen med jämna mellanrum?

Visa signatur

Asus Zenbook UX32VD-R4002V.

Permalänk
Medlem

Nope inget plugin till apache. Faktiskt en egen demon som man ansluter mot. Antingen via proxy reverse i apache eller på en egen server.

Permalänk
Medlem

Har jag fått den här artikeln om bakfoten, eller är det nått sånt här jag letar efter?
Server-sent events - Wikipedia, the free encyclopedia
I så fall verkar det finnas i HTML5.

Visa signatur

Asus Zenbook UX32VD-R4002V.

Permalänk
Medlem

Ja visst kommer det att implementeras i HTML5, men det är inget du kan ta för givet funkar i alla webläsare idag. (inte ens dom senaste)

Permalänk
Medlem
Skrivet av =JoNaZ=:

Ja visst kommer det att implementeras i HTML5, men det är inget du kan ta för givet funkar i alla webläsare idag. (inte ens dom senaste)

okej! vart hittar jag mer information om html5? Det enda praktiska jag hittar handlar om taggar som ersätter div taggarna... Dvs inget som helst dynamiskt.

Visa signatur

Asus Zenbook UX32VD-R4002V.

Permalänk
Medlem

Dive Into HTML5

Där har du en hel bok om html5 gratis..

HTML5 Demos and Examples

Lite olika saker man kan göra med html5..

Visa signatur

EPoX 8RDA+, XP2500+, 2x256Mb PC3200 (DualCh), Club3D 9800PRO, Seagate 7200.7 160Gb 8Mb Limited edition