polling making it live
play

Polling Making it Live What if someone chats after you load the - PowerPoint PPT Presentation

Polling Making it Live What if someone chats after you load the page? Have to refresh or send a new AJAX call to get the new data AJAX is preferred, but what triggered the AJAX request? Polling Keep sending AJAX requests at


  1. Polling

  2. Making it Live • What if someone chats after you load the page? • Have to refresh or send a new AJAX call to get the new data • AJAX is preferred, but what triggered the AJAX request? • Polling • Keep sending AJAX requests at fixed intervals to refresh the data

  3. Polling setInterval ( getMessages , 1000) • Browser sends requests for updates at regular intervals • Use setInterval • Takes a function to be called • Takes the number of milliseconds to wait between function calls • This example calls getMessages() every second • getMessages() makes the AJAX call to get the most recent data from the server and render it on the page

  4. Polling setInterval ( getMessages , 1000) • Easy to implement • Assuming the AJAX calls are already setup • Just telling the browser to keep making requests to the server • Limitations • Users wait unto an entire interval to get new content • Lowering the interval length increases server load and bandwidth

  5. Long-Polling • Server hangs on requests (Intentionally) • Client makes a long-poll request to get the most current data • If there's new data, the server responds just like polling • When the response is received, client makes another long- poll request • If there's no new data, the server does not send a response • Server waits until there is new data to be sent, then responds • Timeouts • If there's no new data after ~10-20 seconds, server responds with no new data • Client get the response and sends a new long-poll request

  6. Long-Polling • End result • The client always has a request waiting at the server • Whenever the server has data to send to the client, it responds to the waiting request • Real-time updates! • Minimal delays between users without excess server load • *If designed properly. This is not true if each requests requires its own thread • We'll reach this same goal with WebSockets • More modern solution • No long-polling on HW

  7. Long-Polling • Even though WebSockets is a more modern solution, many major site still use long-polling • Ie. You may still encounter this in your career • Long-polling only uses HTTP • Compatible with very old browsers!

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend