SockJS Nedir?

SockJS, WebSocket kullanılamadığında şeffaf bir şekilde alternatif aktarım yöntemlerine geri dönen WebSocket benzeri bir API sağlayan açık kaynaklı bir JavaScript kütüphanesidir. Kurumsal güvenlik duvarları, eski tarayıcılar veya bağlantı yükseltmesini desteklemeyen yük dengeleyiciler tarafından WebSocket bağlantılarının engellendiği ortamlar için tasarlanmıştır. SockJS, WebSocket, HTTP akışı, HTTP long-polling ve diğer birkaç mekanizmadan seçim yaparak en iyi kullanılabilir aktarım yöntemini otomatik olarak müzakere eder.

SockJS, uyumlu bir sunucu tarafı kütüphanesi (örneğin SockJS-Node veya Spring'in SockJS desteği) gerektirir ve kendi alt protokolünü kullanır, bu nedenle düz bir WebSocket uç noktasına bağlanamaz.

Araç açıklaması

Bu araç, tarayıcı tabanlı bir SockJS istemcisi sağlar. Bir SockJS sunucusu uç noktasının URL'sini girin, bağlanın, metin mesajları oluşturun ve tüm trafiği zaman damgalı bir mesaj günlüğünde gözlemleyin. Etkin aktarım adı (örneğin, websocket, xhr-streaming, xhr-polling) gerçek zamanlı olarak görüntülenir, böylece kütüphanenin hangi geri dönüş mekanizmasını seçtiğini görebilirsiniz.

Özellikler

  • Otomatik aktarım müzakeresi — en iyi kullanılabilir aktarım ile bağlanır ve hangisinin seçildiğini gösterir.
  • Canlı mesaj günlüğü — tüm gelen mesajlar ve bağlantı olayları kolay inceleme için zaman damgaları ile kaydedilir.
  • Metin ve JSON modları — yükleri düz metin veya söz dizimi vurgulama ve doğrulama ile yapılandırılmış JSON olarak yazın.

Seçenekler açıklandı

Sunucu URL'si — SockJS uç noktasının HTTP(S) URL'si (örneğin, https://example.com/sockjs). /websocket veya herhangi bir aktarım soneki eklemeyin; SockJS yol müzakeresini dahili olarak yönetir.

Aktarım — bağlantı açıldıktan sonra çıkış alanında görüntülenir. Yaygın değerler websocket (doğrudan yükseltme başarılı), xhr-streaming (XHR üzerinden akış) ve xhr-polling (geleneksel long-poll) içerir. Bu alan bağlantı kurulana kadar boş kalır.

Veri türüMetin ve JSON oluşturma modları arasında geçiş yapın. JSON modu, göndermeden önce yükü doğrular.

Otomatik kaydırma — mesaj günlüğünü en son girdiye sabitler.

Nasıl çalışır

İstemci, hedef sunucuya bir bağlantı açmak için SockJS JavaScript kütüphanesini kullanır. SockJS, sunucunun hangi aktarım yöntemlerini desteklediğini keşfetmek için bir bilgi isteği gerçekleştirir, ardından en iyi seçeneği müzakere eder. Bağlandıktan sonra, araç tüm giden mesajları SockJS send yöntemi aracılığıyla iletir ve sunucu tarafından döndürülen her onmessage olayını günlüğe kaydeder.

İpuçları

  • SockJS sunucuları tipik olarak uç noktalarını /sockjs veya /ws gibi bir yolda ortaya çıkarır. Doğru temel URL için sunucu belgelerine bakın.
  • Aktarım websocket yerine xhr-polling gösteriyorsa, sunucu veya proxy WebSocket yükseltmelerini engelliyor olabilir.
  • SockJS, düz WebSocket uç noktaları ile uyumlu değildir. Standart WebSocket sunucuları için WebSocket Test İstemcisini kullanın.