Socket.İo Express.Js Nodejs
-
Bu üçünün farklarını tam olarak anlamadım. Hangileri server için, hangileri browser/client için şimdi ?
Diyelim bir chat yapmak istiyorum. Browserda ne kullanmalıyım, serverda ne kullanmalıyım ?
-
node.js bir javascript platformu, diğer söylediklerin ise node.js için yapılmış frameworklerdir.
Express.JS web applicationları için kullanılıyor eğer chat sayfasını da ben node.js ile yapacağım diyorsan evet Express.JS kullanabilirsin.
Socket.IO ise chat uygulamanın arkaplanı olarak düşünebilirsin.
Verilerin gidip gelmesi olaylarını kontrol eden taraftır. Arkaplanda bu döner ama web sayfan üzerinde de bunu kontrol eden ve işleyen bir yapı daha vardır.
https://socket.io/get-started/chat/
burada basit bir chat uygulaması yapımını anlatmış.
-
Express js (bir nodejs frameworku rest api veya full stack birsey gelistirmek icin )
Socket.io (socket serveri yapmak icin )
nodejs hepsinin en temeli bu soylediklerinin hepsi server icin chat sistemi yapmak istiyorsan socket io kullanabilirsin. socket io ile socket serveri olusturduktan sonra client tarafinda websocket client i olusturcaksin
Chat serveri icin nodejs ve socket.io browser icin en basic jquery ile yaparsin daha kapsamli bisey yapmak istiyorsan react,vue yada angular kullan
-
-
anladigim kadariyla şimdi Client/ Browser için ekstra bir şey kullanmaya gerek yok.
https://stackoverflow.com/questions/38122068/how-react-js-acts-as-a-websocket-client
ama tercihen socket io-client fw de kullanabilirim. Ama socket.io-client kullanırsam serverda illa da socket.io-server kullanmama gerek yok.
Düz js kullanarak bile bu bağlantıyı kullanabiliyoruz.
Server tarafı için de socket io veya express js kullanabilirim.
anlayabilmiş miyim :D ?
-
nurulmac11 bunu yazdı
anladigim kadariyla şimdi Client/ Browser için ekstra bir şey kullanmaya gerek yok.
https://stackoverflow.com/questions/38122068/how-react-js-acts-as-a-websocket-client
ama tercihen socket io-client fw de kullanabilirim. Ama socket.io-client kullanırsam serverda illa da socket.io-server kullanmama gerek yok.
Düz js kullanarak bile bu bağlantıyı kullanabiliyoruz.
Server tarafı için de socket io veya express js kullanabilirim.
anlayabilmiş miyim :D ?
socket.io temelde websocket iletişim protokolünü kullanır ama olur da kullanamazsa başka protokollere de `fallback` yapar (bu ayarlanabilir).
şu an için nodejs in dahili websocket modülü yok, dolayısıyla npm gibi bir paket yönetici ile ws, uws, socketio gibi paketleri yükleyip sunucu tarafında çalıştırman gerek.
browserda ise websocket protokolünü herhangi bir ek paket çağırmadan kullanabilirsin.
socketio bildiğim kadarıyla engine.io denen bir altyapıyı kullanıyor ve dilersen bu altyapı yerine daha hızlı olduğunu iddia eden uws gibi paketleri kullanabiliyorsun.
ama oda yönetimi gibi ileri konularda socketio nun dahili yapısı oldukça kullanışlı ve hayat kurtarır. topululuğu da zamanla oldukça genişlemiş olduğundan websocket tabanlı birşeylere ihtiyacın varsa socketio ile başlamanı tavsiye ederim. hem client, hem server da kullanabilirsin.
express biraz daha farklı, genelde gelen http isteklerini route'layıp, yanıtlamak için kullanılıyor. nodejs içinde statik ya da dinamik http server gibi kullanılabilir.
RockZs tarafından 06/Nis/18 05:11 tarihinde düzenlenmiştir