Calışanlar, istemcilerden gonderilen HTTP isteklerine yanıt verir. Bir İstek gelir ve bir Yanıt geri gelir. Gelen isteklerde bir Yukseltme başlığı arayarak Workers kodunuzda WebSocket'leri kullanmaya başlayabilirsiniz: bu, istemciden yeni bir WebSocket kurmak istediğinin bir gostergesidir:
Kod:
addEventListener('fetch', event => ) async function handleRequest(request) ) } // Set up WebSocket }
Yukseltme başlığı mevcutsa, WebSocketPair'in yeni bir orneğini kurarız - biri istemci, diğeri sunucu icin olmak uzere iki WebSocket kumesi. Kodumuzda, sunucu tarafı mantığımızı kurmak icin WebSocket sunucusunu kullanacağız ve istemci soketini istemciye geri dondureceğiz. Yanıttaki 101 durum kodunun ( "Anahtarlama Protokolleri" ) ve yeni webSocket ozelliğinin kullanımına dikkat edin:
Kod:
addEventListener('fetch', event => ) async function handleRequest(request) ) } const [client, server] = Object.values(new WebSocketPair()) await handleSession(server) return new Response(null, ) }
HandleSession fonksiyonumuzda, WebSocket'imizdeki kabul fonksiyonunu cağırıyoruz. Bu, Workers runtime'a bu WebSocket sunucusundan WebSocketPair'den sorumlu olacağını soyler. Daha sonra, addEventListener kullanarak ve ozellikle mesaj olayları icin (yeni veriler geldiğinde) ve WebSocket bağlantısı kapandığında olayları kapatarak geri arama işlevleri sağlayarak WebSocket uzerindeki olayları işleyebiliriz:
Kod:
async function handleSession(websocket) ) websocket.addEventListener("close", async evt => ) }
Cloudflare WebSocketPairs Orneği
Site & Server Administration0 Mesaj
●4 Görüntüleme
- ReadBull.net
- Domain & Sunucu & Web Hosting
- Site & Server Administration
- Cloudflare WebSocketPairs Orneği
-
05-09-2022, 16:41:31