Java’da WebSocket Kullanımı

0 4.951

Merhaba bu yazımda ağ programlama olarak bildiğimiz socket’in artık web tarafındada münkün olduğuna deyineceğiz. Bildiğiniz üzere soketler özetle bir portu dinler ver oradan cvp beklerler veya o porta mesaj yollarlar. Clientlarda servera port açarsak, clienttan mesajı servera yollarız server da hedef clientın dinlediği porta mesajı alır.
Sosyal medyanın popüler olması ile birlikte,  anlık veri akışına (real-time) alışır duruma geldik. Özellikle sosyal ağda bildirimlerin yansıtılması  için eski yöntem olan sayfayı yenilemek hemen hemen tarih oldu . Facebook , twitter vs. gibi siteler bu işi nasıl başarıyora gelirsek bu yöntemlerden en bilineni  WebSocket’tir.  HTML5 ile birlikte gelen bu teknoloji  dev şirketler tarafından desteklenip , sistemlerine entegre ediyorlar.

WebSocket fonksiyonlarından kısaca bahsedelim ve javada nasıl kullanıyor küçük bir chat uygulaması yapalım.

 

onOpen : Websocket bağlantısı istemci ile sunucu arasında gerçekleştiği sırada bu fonksiyon çalışır. Burada kullanıcının sisteme bağlantı esnasında yapılması gerekenler yapılabilir.Bir class’ın yapılandırıcısı gibi düşünebilirsiniz.

onClose: Websocket bağlantısı kesildiği zaman yani kullanıcı server ile bağlantısını kestiği zaman bu fonksiyon çalışır.

onMessage: Servera websocket aracılığı ile mesajın gelmesi durumunda çalışacak olan fonksiyondur. Gelen mesaj hedef usera burada gönderilebilir.

onError: Serverde karşılaşan hataların return olacağı fonksiyondur.

 

 

Websocket hakkında biraz olsada bilgimiz olduğuna göre Java’da uygulamamızı yazmaya başlayalım .Yapacağımız uygulama chat uygulaması public bir chat uygulaması olacak tüm istemciler birbirinin yazdığı mesajları görebilecek.

İlk önce  java sınıfımızı yazalım ve sunucumuzu hazır edelim ki herhangibir arayüzden yazdığımız websocketimize ulaşılabilsin.

WebSocketServer.java

 

Şimdi ise sunucumuzu deploy ettiğimizde sayfamızı nasıl tetikliyeceğimizi yapalım.

 

Test ederken farklı tarayıcı segmelerinden giriş yaparsanız neler olduğunuz göreceksiniz ?

 

Ekran çıktımız :

 

 

İyi Çalışmalar

Email adresiniz yayınlanmayacaktır.