Nodejs her geçen gün daha fazla kullanılmaya başlıyor. Bununla beraber Nodejs’le geliştirilen uygulamaların sayısı da artmaya başladı. 2 arkadaş beraber geliştirdiğimiz Listenlike.me‘de bunlardan biri. Bu yazıda hem Nodejs+Socket.io ile örnek bir karşılıklı chat uygulaması yapacağız, hem de sık kullanılan frameworklerden biri olan Socket.io’nun genel komutlarını öğrenereceğiz.

Nodejs  kurulumu çok basit. Nodejs.org’dan indirdiğiniz exeyi çalıştırıp Next-next demeniz yeterli. Çalışma prensibi ve nodejs, socket.io hakkında bilgi alabileceğiniz linkleri yazının en altına ekledim.

Standart 2 dosya üzerinden (index.html, server.js) işlemleri yapacağız. Index.html’de kullanıcı arayüzü ve Client tarafta çalışacak komutlarımız, Server.js de ise server’da çalışacak komutlarımız yer alacak.(bu komutları aşağıda detaylı açıklayacağım.)

Uygulamanın anlatımına geçmeden önce kullandığımız ve Socket’in temel fonksiyonlarından bahsecedeğim.

io.sockets.on('connection', function(socket){
  • server.js dosyamızda yer alacak io.sockets.on fonksiyonunun connection komutu diğer tüm node fonksiyonlarını kapsar. Bağlantılar, client iletişimi vs vs herşey bu fonksiyon altında tanımlanır.
socket.on('mesajgonder', function(data){...}
  • socket.on ‘connection’ içinde kullanılan, aşağıda ki diğer socket fonksiyonları kapsar. Client-Server iletişimi bu fonksiyon içinde emit ve on ile yürür.
socket.emit('mesajgitti', data) //server
socket.emit('mesajgonder',{'mesaj' : mesaj,}); //client
  • socket.emit Server’dan client’e, client’den servera veri taşır. Yukarıda ki ilk satırda server.js’de kullanımı, 2.satır’da Json tipinde client tarafında kullanımını ekledim.Örnek chat uygulamasında da Json tipinde verileri aldım. İstenirse değişken olarakta tanımlanabilir. O da şöyle;

(daha fazla…)