Merhabalar ; [Üye Olmadan Linkleri Göremezsiniz. Lütfen Üye Olmak için TIKLAYIN...] için sizlere hazırladığımız yeni konumuz
HTML5 Websocket Kullanımı.
IRC Forumlarımız adına sizler için araştırdığımız, web üzerinden belirli kaynaklardan edindiğimiz bilgiler eşliğinde Websocket Nedir ? / Hangi alanlarda Kullanılır ? / Html5 ile bağlantısı gibi soruları cevaplamaya çalışacağız.
Html5 ile birlikte gelen Websocket , sunucu ve istemci arasında karşılıklı veri akışına olanak sağlar.
Websocket Nedir ?
Websocket
IETF tarafından
RFC 6455 ile kuralları belirlenmiş sunucu ve istemci arasında karşılıklı , çift taraflı veya terminolojideki adıyla
full duplex veri alışverişine imkan ve olanak sağlayan protoküldür.
Neden Websocket Kullanılır ?
Oyun , gerçek zamanlı web uygulamaları ve sohbet gibi sürekli ve daimi veri alışverişin bulunan alanlar vardır.
HTTP protokolü tek taraflı iletişim sağlar. Sunucu sadece istemci üzerinden gelen isteklere cevap verebilir. Sunucu üzerinden gelen bir istek ile istemci cevap verebilir.
Yeni bir istek HTTP protokolündeki kuralların tekrar edilmesine ve fazla trafik kullanıma neden olmaktadır.
Bu aşırı veri trafiği ve buna bazlı oluşabilecek yüksek maliyetten kurtulmak için
websocket kullanılabilir.
Websocket Nasıl Kullanabilirim ? Websocket sunucusuna ve
websocket API destekleyen tarayıcıya ihtiyaç duyulur.
Websocket Sunucu
Bir protokol olan Websocket çeşitli kurallara sahiptir. RFC 6455 kuralları uygulayarak C, C++ , C# , Java i Node.js ve Php gibi programlama dilleri sunucuyu oluşturabilirsiniz.
Hız , güvenlik ve esneklik için çeşitli kütüphanelerden faydalanabilirsiniz.
C++ için
uWebsocket ,
.NET için SignaIR, Java için Java-Websocket , Node.js için ise Socket.IO kütüphaneleri kullanabilir.
Websocket kullanabilmek için öncelikle HTML5 ile birlikte gelen Websocket API kullanılması gerekir.
Websocket API içinde veri alışverişinde kullanılan çeşitli özellik, olay ve metotlara sahip Websocket sınıfı yer alır.
Nasıl Bağlantı Kurulur
Ws sunucuna bağlanmak için sınıfın kurucusuna websocket adresinin yazılmaıs yeterli olacaktır.
Kod
var ws = new WebSocket("ws://websocket-adresi:port"); HTML-Kodu
var ws = new WebSocket("ws://echo.websocket.org"); nOT: Websocket bağlantısı için
ws:// veya
wss:// ön eki kullanılır.
Bağlantı kuruldu ise Websocket API içerisindeki ; onopen Bağlantı sağlandığında tetiklenir.
onerror Hata olduğunda tetiklenir.
onmessage Sunucudan veri geldiğinde tetiklenir.
onclose Bağlantı sonlandığında tetiklenir.
PHP- Kodu
<script>
'use strict';
var ws = new WebSocket("ws://echo.websocket.org");
ws.onopen = function (event) {
console.log("Bağlantı sağlandı.");
};
</script>
Veri Göndermek
Sunucuya veri göndermek için
send metodu kullanılır.
Metot parametre olarak
String, ArrayBuffer, Blob ve ArrayBufferView türünden değer alır.
PHP- Kodu
<script>
'use strict';
var ws = new WebSocket("ws://echo.websocket.org");
ws.onopen = function (event) {
console.log("Bağlantı sağlandı.");
ws.send("IRC Forumlarının En iyi Rehberi IRCREHBERI.");
};
</script>
Veri Çekmek
Sunuculardan veri almak için
onmessage olayına gönderilen
MessageEvent sınıfındaki
data özelliği kullanılır.
PHP- Kodu
<script>
'use strict';
var ws = new WebSocket("ws://echo.websocket.org");
ws.onopen = function (event) {
console.log("Bağlantı sağlandı.");
ws.send("IRCREHBERI Webmaster Konuları.");
};
ws.onmessage = function (event) {
console.log("Mesaj alındı.");
console.log("Alınan değer: " + event.data);
};
</script>
Bağlantıyı Kapatmak
Sunucu ve istemci arasındaki bağlantıyı kapatmak için Websocket sınıfı içinde yer alan
close metodu kullanılır.
Bağlantı kapatıldıktan sonra
onclose olayı tetiklenir.
PHP- Kodu
<script>
'use strict';
var ws = new WebSocket("ws://echo.websocket.org");
ws.onopen = function (event) {
console.log("Bağlantı sağlandı.");
ws.send("ircrehberi.net.");
};
ws.onmessage = function (event) {
console.log("Mesaj alındı.");
console.log("Alınan değer: " + event.data);
ws.close();
};
ws.onclose = function (event) {
console.log("Bağlantı kapatıldı.");
};
</script>
Veri alışverişi veya bağlantı sırasında herhangi bir hata oluşturulduğunda
onerror olayı tetiklenir.
PHP- Kodu
<script>
'use strict';
var ws = new WebSocket("ws://echo.1websocket.org");
ws.onopen = function (event) {
console.log("Bağlantı sağlandı.");
ws.send("En iyi forum sitesi");
};
ws.onerror = function (event) {
console.log("Hata oluştu.");
};
ws.onmessage = function (event) {
console.log("Mesaj alındı.");
console.log("Alınan değer: " + event.data);
ws.close();
};
ws.onclose = function (event) {
console.log("Bağlantı kapatıldı.");
};
</script>
API içinde yer alan
readyState özelliği ile kontrol edilebilir.
En önemli kısım söz konusu Websocket olduğunda sunucudur, bunun sebebi tüm bağlantılardan sunucunun sorumlu olmasıdır.
Kaynak :
[Üye Olmadan Linkleri Göremezsiniz. Lütfen Üye Olmak için TIKLAYIN...]