Junior
Web geliştirmede soketler ne için kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Gerçek zamanlı olarak istemci (tarayıcı) ile sunucu arasında çift yönlü veri alışverişi için. Geleneksel HTTP'den farklı olarak, burada istemci isteği başlatır ve sunucu yanıt verirken, soketler sunucunun herhangi bir zamanda önceden istek olmadan veri göndermesine olanak tanır.
Kullanım örnekleri:
- Sohbet uygulamaları: Kullanıcılar arasında anlık mesaj iletimi.
- Çevrimiçi oyunlar: Oyuncuların ve oyun dünyasının durumlarının gerçek zamanlı senkronizasyonu.
- Ticaret platformları: Hisse senedi veya kripto para fiyatlarının sayfa yenilemeden güncellenmesi.
- Bildirimler: Sipariş durumu değişiklikleri, yeni mesajlar vb. durumlarda kullanıcılara push bildirimleri gönderme.
- Belge ortak düzenleme: Birden fazla kullanıcı arasında değişikliklerin senkronizasyonu.
Soketler, TCP protokolü üzerinde uygulanır ve genellikle ilk HTTP el sıkışmasından sonra sürekli bağlantı sağlayan WebSocket protokolünü kullanır.
// WebSocket bağlantısı kurmak için istemci kodu örneği
const ws = new WebSocket('ws://localhost:8080'); // WebSocket sunucusunun adresi
ws.onopen = () => {
// Bağlantı kuruldu
console.log('WebSocket bağlantısı kuruldu');
ws.send('Merhaba, sunucu!'); // Sunucuya mesaj gönder
};
ws.onmessage = (event) => {
// Sunucudan mesaj alındı
console.log('Sunucudan alınan mesaj:', event.data);
};
ws.onclose = (event) => {
// Bağlantı kapandı
if (event.wasClean) {
console.log(`Temiz şekilde kapandı, kod=${event.code} neden=${event.reason}`);
} else {
console.error('Bağlantı kesildi');
}
};
ws.onerror = (error) => {
// Bağlantı hatası
console.error('WebSocket hatası:', error);
};
WebSocket bağlantısı, sürekli HTTP isteklerine göre (polling veya long polling) düşük ek yük maliyetine sahiptir ve gerçek zamanlı veri alışverişi gerektiren uygulamalar için daha etkilidir.