Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 0
  • 29

Witam.

Jak stworzyć optymalne odświeżanie czatu na stronie, które będzie odświeżać wiadomości tylko w chwili, w której owa "nowa" wiadomość się pojawi? Wiadomości przechowuję w bazie danych.

Skrypt, który odświeża czat wygląda tak: 

$(document).ready(function(){
setInterval(function(){
$("#screen").load('wiad.php')
}, 600);
});



 

Lech_Górski
  • Zapytał
  • @ Lech_Górski | 11.04.2017
    • 4
    • 2
    • 13
Zaloguj się aby zadać pytanie
Pokrewne

Odpowiedź (1)

  • 0

Proponuję rozwiązać ten problem za pomocą WebSockets. Tutaj jest trochę informacji na ten temat:

https://www.html5rocks.com/en/tutorials/websockets/basics 

To optymalne rozwiązanie dla sytuacji permanentnego połączenia między klientem i serwerem, gdzie obie strony mogą przesyłać dane przez cały czas.

Drugie rozwiązanie jakie przychodzi mi do głowy, to zastosowanie formatu JSON do wymiany danych i nasłuchiwanie zdarzenia - coś w stylu:

document.addEventListener('meessageReceived', function (e)
{
    //tutaj kod obsługi zdarzenia odebrania wiadomości
}


$(function()
{            
    $.getJSON("http://enter/your/address/here",
    function(data_meetings, status, xhr)
    {                        
        meetings = data_meetings;
        document.dispatchEvent(new Event('meessageReceived'));
    }
    ).fail(function()
    {
        //error during getting the meetings
    });

}

 

 

 

Lech_Górski
  • Odpowiedział
  • @ Lech_Górski | 22.06.2017
    • 4
    • 2
    • 13