SORU
4 Mart 2011, Cuma


Server-Sent olayları WebSockets vs/EventSource

WebSockets Server-Sent Events Her iki tarayıcı için veri itme yeteneğine sahiptir. Bana teknolojileri rakip gibi görünüyor. Aralarındaki fark nedir? Ne zaman birini seçerdin?

CEVAP
16 Mart 2011, ÇARŞAMBA


Websockets ve SSE Olaylar Gönderdi Sunucu () her iki tarayıcı için veri itme yeteneğine sahiptir, ancak teknolojiler yarışıyor.

Websockets bağlantıları her iki tarayıcıya veri göndermek ve tarayıcı verileri alabilir. Websockets kullanabileceği bir uygulama iyi bir örnek bir sohbet uygulamasıdır.

SSE bağlantıları sadece tarayıcıya veri itebilir. Hisse senedi fiyatları Online veya zaman çizelgesi güncelleme veya yem Twitter'ın vardır SSE faydalı bir uygulama için iyi bir örnek.

SSE ile yapılabilecek her şeyi de Websockets ile yapılabilir beri uygulamada, Websockets çok daha fazla ilgi ve sevgi, ve daha birçok tarayıcılar SSE daha Websockets desteği.

Ancak, uygulama bazı türleri için overkill olabilir, ve arka uç daha kolay SSE gibi bir protokol ile uygulamaya olabilir.

Ayrıca SSE desteklemeyen eski tarayıcılar içine polyfilled olabilir doğal olarak sadece JavaScript kullanarak. SSE polyfills bazı uygulamaları Modernizr github page bulunabilir.

HTML5Rocks SSE bazı iyi bilgi var. Bu sayfadan:

Sunucu-Gönderilen WebSockets vs Olayları

Neden Sunucu üzerinden Gönderilen WebSockets Olaylar seçerdiniz? Güzel soru.

SSEs gölgesinde muhafaza edilmiş bir nedeni WebSockets çift yönlü, tam çift yönlü iletişimi gerçekleştirmek için daha zengin bir protokol sağlamak gibi daha sonra API olduğu için. -İki kanal oyunlar, uygulamalar mesajlaşma, gibi şeyler için daha çekici bir olması ve gereken durumlar için gerçek zamanlı olarak her iki yönde güncellemeler yakın. Ancak, bazı senaryolarda veri istemciden gönderilecek ihtiyacı yok. Sadece bazı sunucu eylem güncellemeleri gerekiyor. Birkaç örnek arkadaşlarınızın güncellemeleri, borsa sayaçları durumu, haber bültenleri veya diğer otomatik veri mekanizmaları (örn tarafı istemci Web SQL Veritabanı veya İndexedDB nesne deposu güncelleniyor) itin. Eğer sunucuya veri göndermek için ihtiyacınız olacak, XMLHttpRequest her zaman bir arkadaş.

SSEs geleneksel HTTP üzerinden gönderilir. Özel bir protokol veya sunucu uygulaması için çalışma yapmak gerekmez anlamına gelir. Öte yandan WebSockets, tam çift yönlü bağlantıları ve yeni Web Soket sunucuları protokolü işlemek için gerektirir. Ayrıca, Gönderilen Sunucu Olayları otomatik yeniden bağlanma gibi tasarım, Olay Kimliği, eksikliği ve keyfi olaylar gönderme olanağı WebSockets özellikleri bir çeşitlilik var.


Özet TLDR:

Websockets üzerinde SSE avantajları:

  • Özel bir protokolü yerine basit HTTP üzerinden taşınır
  • ""Henüz desteklemeyen tarayıcılar için SSE. dahil javascript ile poli-dolu olabilir
  • Yeniden bağlantı için yerleşik destek ve Olay Kimliği
  • Daha basit bir protokol

SSE: Websockets avantajları

  • Gerçek zamanlı, iki yönlü bir iletişim.
  • Daha fazla tarayıcı pencerelerini yerel destek

İdeal SSE durumlarda kullanın:

  • Hisse senedi akışı
  • Twitter'da güncelleme
  • Tarayıcı bildirimleri

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • The Platform

    The Platform

    14 HAZİRAN 2006