WebSockets - Çift Yönlü İletişim

Web soketlerinin ihtiyacına dalmadan önce, kullanılan mevcut tekniklere bir göz atmak gerekir. duplex communicationsunucu ve istemci arasında. Bunlar aşağıdaki gibidir -

  • Polling
  • Uzun Yoklama
  • Streaming
  • Geri gönderme ve AJAX
  • HTML5

Yoklama

Sorgulama, iletimde var olan verilerden bağımsız olarak periyodik talepleri gerçekleştiren bir yöntem olarak tanımlanabilir. Periyodik istekler senkronize bir şekilde gönderilir. İstemci, belirli bir zaman aralığında Sunucuya periyodik bir istekte bulunur. Sunucunun yanıtı, mevcut verileri veya bazı uyarı mesajlarını içerir.

Uzun Yoklama

Uzun yoklama, adından da anlaşılacağı gibi, oylama gibi benzer tekniği içerir. İstemci ve sunucu, bazı veriler alınana veya zaman aşımı oluşana kadar bağlantıyı aktif tutar. Bağlantı bazı nedenlerden dolayı kesilirse, istemci baştan başlayıp sıralı istek gerçekleştirebilir.

Uzun yoklama, yoklama sürecine göre performans iyileştirmesinden başka bir şey değildir, ancak sürekli istekler süreci yavaşlatabilir.

Yayın Akışı

Gerçek zamanlı veri aktarımı için en iyi seçenek olarak kabul edilir. Sunucu, gerekli veriler alınana kadar istemciyle olan bağlantıyı açık ve aktif tutar. Bu durumda bağlantının süresiz olarak açık olduğu söylenir. Akış, dosya boyutunu artırarak gecikmeyi artıran HTTP üstbilgilerini içerir. Bu büyük bir dezavantaj olarak düşünülebilir.

AJAX

AJAX, Javascript'e dayanmaktadır XmlHttpRequestNesne. Eşzamansız Javascript ve XML'in kısaltılmış bir biçimidir.XmlHttpRequestNesne, web sayfasının tamamını yeniden yüklemeden Javascript'in yürütülmesine izin verir. AJAX, web sayfasının yalnızca bir bölümünü gönderir ve alır.

AJAX çağrısının kod parçacığı ile XmlHttpRequest Nesne aşağıdaki gibidir -

var xhttp;

if (window.XMLHttpRequest) {
   xhttp = new XMLHttpRequest();
} else {
   // code for IE6, IE5
   xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

En büyük dezavantajları AJAX kıyasla Web Sockets -

  • Toplam boyutu büyüten HTTP üstbilgileri gönderirler.
  • İletişim yarı çift yönlüdür.
  • Web sunucusu daha fazla kaynak tüketir.

HTML5

HTML5, web uygulamalarını geliştirmek ve tasarlamak için sağlam bir çerçevedir. Ana sütunlar şunları içerir:Mark-up, CSS3 ve Javascript API'ler birlikte.

Aşağıdaki şemada HTML5 bileşenleri gösterilmektedir -

Aşağıda verilen kod parçacığı, HTML5 ve onun belge türünün bildirimini açıklar.

<!DOCTYPE html>

Neden Web Soketlerine İhtiyacımız Var?

İnternet, kavramsal bir bilgi ağı oluşturmak için birbirine bağlanan bir Köprü Metni Biçimlendirme Dili (HTML) sayfaları koleksiyonu olarak tasarlandı. Zamanla statik kaynaklar arttı ve görseller gibi daha zengin öğeler web dokusunun bir parçası olmaya başladı.

Dinamik sunucu sayfalarına - içeriği bir sorguya göre oluşturulan sayfalara - izin veren gelişmiş sunucu teknolojileri.

Yakında, daha dinamik web sayfalarına sahip olma gerekliliği, Dinamik Köprü Metni Biçimlendirme Dili'nin (DHTML) kullanılabilirliğine yol açar. Hepsi JavaScript sayesinde. Sonraki yıllarda gördükcross frame communication Sayfanın yeniden yüklenmesini önlemek için HTTP Polling çerçeveler içinde.

Ancak, bu çözümlerin hiçbiri, bir sunucu ile bir istemci arasındaki gerçek zamanlı çift yönlü iletişime gerçek anlamda standartlaştırılmış bir çapraz tarayıcı çözümü sunmadı.

Bu, Web Soketleri Protokolü ihtiyacını doğurdu. Tüm web tarayıcılarına masaüstü açısından zengin işlevsellik getiren tam çift yönlü iletişime yol açtı.