📡 Server-Sent Events = Real-time Server Push
WebSockets bazen fazla. Server-Sent Events ile tek yönlü real-time iletişim kurun.
🎯 SSE Implementation
# 1. Server-Side (Node.js)
const express = require('express');
const app = express();
app.get('/events', (req, res) => {
res.setHeader('Content-Type', 'text/event-stream');
res.setHeader('Cache-Control', 'no-cache');
res.setHeader('Connection', 'keep-alive');
let counter = 0;
const interval = setInterval(() => {
const data = {
message: `Event ${counter++}`,
timestamp: new Date().toISOString()
};
res.write(`data: ${JSON.stringify(data)}\n\n`);
}, 1000);
req.on('close', () => {
clearInterval(interval);
res.end();
});
});
# 2. Client-Side (Browser)
const eventSource = new EventSource('/events');
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log('Received:', data);
updateUI(data);
};
eventSource.onerror = (error) => {
console.error('SSE error:', error);
setTimeout(() => {
// Reconnect
new EventSource('/events');
}, 3000);
};
# 3. SSE vs WebSocket
- SSE: Tek yönlü (server → client)
- WebSocket: Çift yönlü
- SSE: HTTP üzerinden
- WebSocket: Özel protokol
- SSE: Basit implementasyon
✅ SSE Kullanım Alanları
- ✓ Canlı bildirimler
- ✓ Gerçek zamanlı dashboard
- ✓ Canlı yayın altyazıları
- ✓ Stok takibi
- ✓ Spor skorları
Server-Sent Events, real-time web’in en basit ve etkili çözümüdür. WebSocket gerekmeyen durumlarda idealdir.
