WebSockets - Olaylar ve Eylemler

Aralarındaki iletişim için istemciden sunucuya olan bağlantıyı başlatmak gerekir. Bağlantıyı başlatmak için, uzak veya yerel sunucu ile URL ile Javascript nesnesinin oluşturulması gerekir.

var socket = new WebSocket(“ ws://echo.websocket.org ”);

Yukarıda belirtilen URL, test ve deneyler için kullanılabilecek genel bir adrestir. Websocket.org sunucusu her zaman çalışır durumdadır ve mesajı aldığında ve istemciye geri gönderir.

Bu, uygulamanın doğru şekilde çalışmasını sağlamak için en önemli adımdır.

Web Yuvaları - Etkinlikler

Dört ana Web Soket API'si vardır events -

  • Open
  • Message
  • Close
  • Error

Olayların her biri, aşağıdaki gibi işlevler uygulanarak ele alınır. onopen, onmessage, onclose ve onerrorsırasıyla işlevler. Ayrıca addEventListener metodu yardımıyla da uygulanabilir.

Olayların ve işlevlerin kısa özeti aşağıda açıklanmıştır -

Açık

İstemci ile sunucu arasında bağlantı kurulduktan sonra, açık olay Web Soketi örneğinden tetiklenir. İstemci ve sunucu arasındaki ilk el sıkışması olarak adlandırılır. Bağlantı kurulduktan sonra ortaya çıkan olay çağrılıronopen.

İleti

Mesaj olayı genellikle sunucu bazı veriler gönderdiğinde gerçekleşir. Sunucu tarafından istemciye gönderilen mesajlar düz metin mesajları, ikili veriler veya resimler içerebilir. Veriler her gönderildiğinde,onmessage fonksiyon ateşlendi.

Kapat

Kapanma olayı, sunucu ile istemci arasındaki iletişimin sonunu işaret eder. Bağlantının kapatılması yardımı ile mümkündür.oncloseEtkinlik. Yardımıyla iletişimin sonunu işaretledikten sonraoncloseolay, sunucu ve istemci arasında daha fazla mesaj aktarılamaz. Etkinliğin kapatılması, zayıf bağlantı nedeniyle de olabilir.

Hata

İletişim sırasında meydana gelen bazı hatalar için hata işaretleri. Yardımı ile işaretlenmiştironerror Etkinlik. Onerrorher zaman bağlantının sona ermesi gelir. Her olayın ayrıntılı açıklaması ilerideki bölümlerde tartışılmaktadır.

Web Yuvaları - Eylemler

Olaylar genellikle bir şey olduğunda tetiklenir. Öte yandan, bir kullanıcı bir şeyin olmasını istediğinde harekete geçilir. Eylemler, kullanıcılar tarafından işlevler kullanılarak açık çağrılarla yapılır.

Web Soketi protokolü iki ana eylemi destekler:

  • gönder ()
  • kapat( )

gönder ()

Bu eylem genellikle, metin dosyalarını, ikili verileri veya görüntüleri içeren mesajların gönderilmesini içeren, sunucuyla bazı iletişimler için tercih edilir.

Send () eylemi yardımı ile gönderilen bir sohbet mesajı aşağıdaki gibidir -

// get text view and button for submitting the message
var textsend = document.getElementById(“text-view”);
var submitMsg = document.getElementById(“tsend-button”);

//Handling the click event
submitMsg.onclick = function ( ) {
   // Send the data
   socket.send( textsend.value);
}

Note - Mesajların gönderilmesi yalnızca bağlantı açıksa mümkündür.

kapat ( )

Bu yöntem veda anlaşması anlamına gelir. Bağlantıyı tamamen sonlandırır ve bağlantı yeniden kurulana kadar hiçbir veri aktarılamaz.

var textsend = document.getElementById(“text-view”);
var buttonStop = document.getElementById(“stop-button”);

//Handling the click event
buttonStop.onclick = function ( ) {
   // Close the connection if open
   if (socket.readyState === WebSocket.OPEN){
      socket.close( );
   }
}

Aşağıdaki kod parçacığı yardımıyla bağlantıyı kasıtlı olarak kapatmak da mümkündür -

socket.close(1000,”Deliberate Connection”);