ElectronJS İle Socket.IO Bağlantısı

Herkese merhaba, NodeJS derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde ElectronJS ile Socket.IO kullanmayı anlatacağım. Hadi başlayalım !
Socket.IO sunucudan istemciye yada istemciden sunucuya asenkron veri göndermek ve DOM manipülasyonu yapmadan DOM üzerinde değişiklikler yapmak için kullanılan bir teknoloji. ElectronJS ile Socket.IO’yu doğrudan kullanamıyoruz çünkü ElectronJS’te ipcMain ve ipcRenderer sınıfları ile Socket.IO benzeri soket programlama yapılabilmekte fakat bazı kullanıcılar istemci tarafında ipcRenderer kullanamıyor ve Socket.IO’ya yönleniyor.
Socket.IO ve ElectronJS kullanabilmek için öncelikle elbette bir tane NodeJS projesi oluşturmamız gerekiyor. Bunun için projenin bulunacağı klasöre terminal ile geçip
npm init --yes
komutunu girerek proje oluşturabiliriz. Ardından ElectronJS ve Socket.IO paketlerini projemize eklememiz gerekiyor ve bu paketler NodeJS kurulumu ile beraber gelmediği için elle kurulum yapmamız gerekiyor. Bunun için yine terminalden
npm install electron socket.io
komutunu girelim. Bu komutun ardından NPM, ElectronJS ve Socket.IO ve onlara bağlı paketleri kurup hazır hale getirecektir. Gerekli kurulumları yaptıktan sonra artık kodlama tarafına geçebiliriz. index.js dosyasını açarak öncelikle ElectronJS ve Socket.IO paketlerini çağıralım ve bu paketleri kullanılabilir hale getirelim. Bunun için sayfanın başına
const {app, BrowserWindow} = require('electron');
const io = require('socket.io')(1234);
kod satırlarını ekleyelim. Şimdi gelelim bu 2 satırla neler yaptığımıza.
Birinci satır ile ElectronJS ile uygulama penceresini oluşturmak için kullanacağımız sınıfları çağırıyoruz (ElectronJS ile uygulama oluşturmayla ilgili detaylı bilgi için buraya tıklayabilirsiniz.).
İkinci satırda ise Socket.IO için konfigürasyonu yaptık. Fakat farkettiyseniz (1234) diye birşey daha ekledik. Buradaki 1234 numarası port numarasını temsil ediyor. Port numarasını parametre olarak vermemizin sebebi, ElectronJS’in kendi soket sınıfı var ve bu yüzden socket işlemleri doğrudan yapılamadığı için sanal port üzerinden bağlantı sağlıyoruz. Bu sayede ElectronJS’e takılmadan Socket.IO kullanabiliyoruz. Tabi ben 1234 yazdım fakat siz hangi portu kullanmak istiyorsanız onu yazabilirsiniz. Ardından Socket.IO kullanımı tamamen bildiğimiz gibi gidiyor. Yani örneğin
io.on('connection', socket => {
console.log('Birisi bağlandı');
});
şeklinde kullanabiliyoruz.
Evet bu yazımda bu kadardı, ElectronJS ile uygulama kurulumunu Socket.IO ile ilişkisi olmadığı için anlatmıyorum. Diğer ElectronJS yazılarımızı okuyarak yapabilirsiniz 🙂 Tüm ElectronJS yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.