HTML5 zdarzenia wysyłane przez serwer (Server-Sent Wydarzenia)
Serwer HTML5 wysyłać zdarzenia (event serwera wysłane) pozwala stron internetowych, aby uzyskać aktualizacje z serwera.
Server-Sent Wydarzenia - wiadomości sposobem
Impreza serwera Wysyłany jest strona automatycznie uzyskać aktualizacje z serwera.
Wcześniej może też to zrobić, pod warunkiem, że strona miała zapytać, czy jest dostępna aktualizacja. Serwer wysyła zdarzenie, aktualizacja dotrze automatycznie.
Przykłady: aktualizacje Facebook / Twitter, aktualizacji wyceny, nowy blog, wyniki turnieju i tak dalej.
Pomoc Browser
Wszystkie główne przeglądarki są obsługiwane przez serwer wysyła zdarzenie, w uzupełnieniu do programu Internet Explorer.
Otrzymania zawiadomienia Event Server-Sent
Obiekt EventSource służy do odbierania powiadomień o zdarzeniach wysyłane przez serwer:
Przykłady
source.onmessage=function(event)
{
document.getElementById("result").innerHTML+=event.data + "<br>";
};
Spróbuj »
Przykłady analizy:
- EventSource utworzyć nowy obiekt, a następnie wysłać regulacje aktualizacji URL strony (w tym przypadku "demo_sse.php")
- Każdy otrzyma aktualizację, występuje onmessage wydarzenie
- Gdy wystąpi zdarzenie onmessage, odebrane dane są wciśnięte w id "result" elementu
Wykrywanie zdarzenia wysyłane przez serwer Pomoc
Poniższe przykłady to napisać dodatkowy kod wykryć przeglądarki do serwera do przesyłania zdarzeń wspierają:
{
// Przeglądarka obsługuje Server-Sent
//Jakiś kod plpl.
}
więcej
{
// Przeglądarka nie obsługuje serwera Wysłane pl
}
Przykłady kodu po stronie serwera
Aby powyższy przykład, można uruchomić, trzeba także mieć możliwość wysyłania danych do aktualizacji serwera (takie jak PHP i ASP).
Składnia strumieni zdarzeń po stronie serwera jest bardzo proste. "Content-Type" nagłówek jest ustawiony na "text / Event-Stream". Teraz można zacząć wysyłać strumień zdarzeń.
Przykłady
header ( 'Content-Type: text / event-stream ");
header ( "Cache-Control: no -cache ');
$ Czas = date ( 'r' );
echo "danych: Czas serwera : {$ time} \ n \ n";
flush ();
?>
kod ASP (VB) (demo_sse.asp):
Response.ContentType="text/event-stream"
Response.Expires=-1
Response.Write("data: " & now())
Response.Flush()
%>
Kod wyjaśnienie:
- Nagłówek "Content-Type" jest ustawiony na "text / Event-Stream"
- Przepis ten nie stron cache
- Data transmisji wyjściowa (zawsze "dane" na początku)
- Odśwież stronę, aby dane wyjściowe
obiekty EventSource
W powyższym przykładzie użyliśmy aby uzyskać zdarzenie wiadomość onmessage. Jednakże można również stosować inne wydarzenia:
事件 | 描述 |
---|---|
onopen | 当通往服务器的连接被打开 |
onmessage | 当接收到消息 |
onerror | 当发生错误 |