Socket.IO Test İstemcisi
Bir Socket.IO sunucusuna bağlanarak olayları yayınlayın ve gelen mesajları inceleyin.
Girdi
Çıktı
Readme
Socket.IO Nedir?
Socket.IO, web istemcileri ve sunucuları arasında gerçek zamanlı, çift yönlü iletişimi sağlayan bir JavaScript kütüphanesidir. WebSocket'i birincil taşıyıcı olarak kullansa da, WebSocket kullanılamadığında otomatik olarak HTTP long-polling'e geri döner ve bu da bağlantıları farklı ağ ortamları ve proxy'ler arasında daha güvenilir hale getirir. Socket.IO, ham taşıyıcının üzerine kendi protokol katmanını ekler — özel el sıkışma, kalp atışları, otomatik yeniden bağlanma ve adlandırılmış olay sistemi dahil — bu nedenle düz bir WebSocket sunucusuyla değiştirilemez.
Socket.IO'nun temel özelliği olay modelidir: ham mesajlar göndermek yerine, istemciler ve sunucular adlandırılmış olayları yayınlar ve dinler (örneğin, chat message, user joined), bu da uygulama mantığını daha temiz ve organize etmesi kolay hale getirir.
Araç açıklaması
Bu araç, tamamen tarayıcıda çalışan etkileşimli bir Socket.IO istemcisi sağlar. Herhangi bir Socket.IO sunucusuna bağlanın, adlandırılmış bir olay seçin, metin veya JSON mesajları oluşturun, gönderin ve gelen olayları ile sunucu yanıtlarını zaman damgalı bir günlükte görüntüleyin. Ayrıca etkin taşıyıcı katmanını (WebSocket veya polling) gösterir, böylece beklenen yükseltmenin gerçekleşip gerçekleşmediğini doğrulayabilirsiniz.
Özellikler
- Adlandırılmış olay desteği — mesajların sunucudaki doğru dinleyiciye ulaşması için göndermeden önce herhangi bir olay adı belirtin.
- Taşıyıcı görünürlüğü — bağlantının WebSocket veya HTTP polling taşıyıcısını kullanıp kullanmadığını gösterir ve Socket.IO yükseltme el sıkışması tamamlandıktan sonra otomatik olarak güncellenir.
- Metin ve JSON modları — yükü düz metin olarak oluşturun veya göndermeden önce söz dizimi vurgulama ve doğrulama ile JSON moduna geçin.
Seçenekler açıklandı
Sunucu URL'si — Socket.IO sunucusunun tam HTTP(S) URL'si (örneğin, https://example.com/socketio). Socket.IO sunucuları genellikle /socket.io/ gibi bir yolda dinler; istemci el sıkışma yolunu otomatik olarak işler.
Olay adı — mesaj gönderirken yayınlanacak Socket.IO olayının adı. Varsayılan olarak message değerine ayarlanır. Sunucunuzun dinlediği olayı eşleştirmek için bunu değiştirin (örneğin, chat, ping, data).
Veri türü — Metin ve JSON arasında geçiş yapın. JSON modunda yük doğrulanır ve ayrıştırılmış bir nesne olarak gönderilir; Metin modunda düz bir dize olarak gönderilir.
Otomatik kaydırma — etkinleştirildiğinde, mesaj günlüğü yeni mesajlar geldikçe otomatik olarak en son girişe kaydırılır.
Nasıl çalışır
İstemci, resmi Socket.IO JavaScript SDK'sını kullanarak hedef sunucuya bağlanır. İlk HTTP el sıkışmasından sonra, Socket.IO taşıyıcıyı HTTP polling'den WebSocket'e yükseltmeye çalışır. Araç, hangi taşıyıcının etkin olduğunu bildirir ve bir yükseltme gerçekleştiğinde etiketi günceller. Sunucudan alınan tüm olaylar — olay adından bağımsız olarak — yakalanır ve günlükte zaman damgası ile birlikte görüntülenir.
İpuçları
- Bağlantı başarılı olsa da hiçbir mesaj görünmüyorsa, sunucunun yalnızca diğer istemcilere değil, bağlanan istemciye de olayları yayınladığını doğrulayın.
- Herhangi bir kod yazmadan sunucu tarafı işleyicileri ayrı ayrı test etmek için olay adı alanını kullanın.
- Hiçbir zaman "websocket"e yükseltilmeyen bir "polling" taşıyıcısı, genellikle WebSocket yükseltmelerini desteklemeyen bir ters proxy'yi (örneğin, yapışkan oturumları olmayan bir yük dengeleyici) gösterir.