
Express ile socket io
Normalde socket uygulamarın da nodejs http modulu ile yapılan pek çok örnek mevcut. Bu sayfa da çok basit bir şekilde express ile bir http server oluşturup socket bağlantısı oluşturacağım.
Normalde konu dışı olsa da express de router ile küçük örneklerde bulunmakta.
Socket uygulaması iki taraflı olur, ilk önce server oluşturur kullanıcıları size nerden hangi port numarası ile bağlanacağını, kullanıcıların hangi olaylarını dinlemek istediğiniz gibi diğer kodlarınızı yazarsınız. Server oluşturduğunuz da bu servera bağlanıp iletişim halinde olacak birde client uygulaması yazarsınız, bu client uygulamasını sitenizin kendisi olabilir.
İlk olarak server oluşumu socket ayarları ve kullanıcı methodlarını oluşturacağım, daha sonra client olarakta gene bir kod paylaşacağım.
server
İlk adım olarak require ile oluşturduğumuz uygulama örneklerini bir birleri ile nasıl ilişkilendirdiğimizin bir kod örneği:
Şuanda server listen methodunu port parametremiz ile çalıştırsak http server ayağa kalkıp çalışmaya başlayacaktır, fakat connetion, disconnect gibi methodlarımız daha tanımlamadık.
Yukardaki kod örneklerinde on ve emit nedir bilmiyor iseniz on client(kullanici) dan bize gelen, emit ise bizden client tarafina giden olarak düşünebilirsiniz. Birazdan client kodlarını paylaştığım da yukardaki tüm emit işlemleri için client kod bütünün de bir on methodu göreceksiniz. Yani aynı şekilde client tarafı da server kodumuzun içerisindeki her on işlemi icin bir emit, her emit işlemi için de bir on methodu içeriyor olacak.
express ile url adresleri oluşturmak için alttaki gibi router lar tanımlayabiliriz
Bütün bunlardan sonra server dinleme işlemi için
Yukardaki kod parçalarını aynı sıra ile server.js isimli bir dosya da bütünleyin.
Bu opsiyonel bir seçim, eğer nodemon kurulu değil ise ilk öncelikle onu kurun
npm install -g nodemon
nodemon siz server.js içerisinde değişiklik yaparsanız serveri otomatik olarak refresh yapar.
nodemon kurduysanız server.js dosyanızı terminalden
nodemon server.js
olarak çağırabilirsiniz. nodemon kurmadıysanızi
node server.js
olarak çağırın
express ile bir server kurmuş ve socket uygulamamızı en basit hali ile ayağa kaldırmış olduk.
client
server.html:
Normalde server.js local bir şekilde up ettiğinizi düşünerek html dosyasında alttaki gibi bir connection yaptım
Eğer siz server.js ip adresiniz ve port numaranız farklı ise x yerine kendi ip adresinizi ve 3000 yerine de server.js içerisindeki port değerini yazınız.
daha sonra http://127.0.0.1:3000/user
adresini tarayıcınız ile çağırabilirsiniz.
Yorumlar
Yorum yapmak için giriş yapın