Server updates versturen naar client

Pagina: 1
Acties:

  • aschwinvanosch
  • Registratie: April 2006
  • Laatst online: 12-12-2024
Ik weet niet zeker of dit bericht in de juiste catagorie valt maar ik kon zo niet bedenken waar ik hem anders in moest plaatsen.

Ik zit met het volgende probleem:

Via een webbrowser wil ik gegevens, welke in een database staan weergeven op een cliënt. Deze gegevens veranderen op zijn tijd.

Nu is het de bedoeling dat de webbrowser open blijft staan zonder zelf een refresh uit te voeren, maar dat de web server de client refresht.

Heeft iemand ervaring met het bovengestelde probleem.

Alvast bedankt!

  • Zoefff
  • Registratie: September 2001
  • Laatst online: 08:58

Zoefff

❤ 

Je kan natuurlijk gewoon een http-refresh header meesturen :)


FotoblogWerkaandemuur.nlMoestuincursus.nlTwitter


  • aschwinvanosch
  • Registratie: April 2006
  • Laatst online: 12-12-2024
maar kan dit dan vanaf de server?

want met de http refresh header zou het gaan om een veranderng op de client.

Wat ik wil voorkomen, aangezien dit een hoop bandbreedte kost.

Het is dus de bedoeling dat er niet steeds gekeken wordt voor veranderingen. Maar dat er pas iets gebeurd bij een verandering.

  • rvrbtcpt
  • Registratie: November 2000
  • Laatst online: 08:00
Dan heb je een andere client nodig lijkt me dan een browser.
Een browser is toch echte client software die pas iets doet wanneer de gebruiker een actie uitvoert of wanneer er inderdaad zoiets als een refresh gedaan wordt.

Al lijkt het me dat een refresh een hele simpele check op een flag kan zijn.
Deze flag geef je een waarde wanneer de database geupdate is en dan haal je alle gegevens op.
Zolang de flag op een waarde staat dat er niks nieuws beschikbaar is zal de browser dus ook geen grote hoeveelheid data gaan overhalen

[ Voor 43% gewijzigd door rvrbtcpt op 15-06-2006 11:22 ]


Verwijderd

Heel simpel... Dat kan niet.

De browser heeft nadat de pagina helemaal binnen is geen contact meer met de server. De server kan dus ook niet een refresh regelen.

Wel kun je bijv. de client opdracht geven om elke x-minuten een auto-refresh te doen..

  • Zoefff
  • Registratie: September 2001
  • Laatst online: 08:58

Zoefff

❤ 

Maar zoveel bandbreedte hoeft het toch niet te kosten om vanuit de client periodiek te checken of er al veranderingen in de database staan? Houd op de client een timestamp bij van de laatste request. Vraag (bijvoorbeeld met AJAX zodat je niet de hele pagina hoeft te verversen) dan met een interval van x minuten aan de server of er iets veranderd is na timestamp y. Zo ja, nieuwe data sturen, zo nee, niets sturen en timestamp updaten. Meer dan een paar bytes aan verkeer mag je daar niet aan kwijt zijn :P


FotoblogWerkaandemuur.nlMoestuincursus.nlTwitter


  • user109731
  • Registratie: Maart 2004
  • Niet online
Misschien kun je iets met Flash/Java doen?

Ik weet niet waarom je geen refresh wil doen, maar als je niet wil dat telkens de pagina opnieuw opgebouwd word zou je op de achtergrond iets met AJAX kunnen doen.

  • aschwinvanosch
  • Registratie: April 2006
  • Laatst online: 12-12-2024
Ok.. bedankt allemaal voor jullie hulp.

Ik ga het nogmaals proberen met jullie tips!

Verwijderd

Wat jij wil is pushen ipv pullen.
Dit wordt oa gebruikt bij multi user applicaties zoals een chatbox.

Dat kan oa. met Flex, Flash communication server of zelf een socket server maken/gebruiken (bv. met php).

  • Wim Leers
  • Registratie: Januari 2004
  • Laatst online: 01:38
AJAX: pulling data (dus client-activated)
Comet: pushing data (dus server-activated)

Kort overzichtje
Wikipedia artikel
Meer vind je met google ;)

  • haling
  • Registratie: Mei 2003
  • Laatst online: 16-02 10:57
je kunt ook pollen (pull vanuit client) naar iets kleins (bv een last-updated timestamp) en zodra die gewijzigd wordt de content updaten...

ik wil ook zoiets gaan maken om bandbreedte te besparen.
Pagina: 1