Socket.IO Installation and Setup
socket.io ও socket.io-client install, package setup ও প্রথম run — বাংলায় সম্পূর্ণ গাইড।
চলুন Socket.IO-এর server ও client library দুটোই install করি এবং প্রথম setup তৈরি করি।
শেখার লক্ষ্য
- Server ও client package-এর পার্থক্য বুঝা
- npm দিয়ে Socket.IO install করা
- প্রথম ছোট server চালানো
প্রয়োজনীয় শর্ত
- Node.js (Socket.IO v4-এর জন্য Node 10+; সর্বশেষ feature ব্যবহারে Node 16.4+ নিন)
- npm (Node-এর সাথে আসে)
- আধুনিক browser — Chrome, Firefox, Edge
Server Package Install
# project folder
mkdir socketio-app
cd socketio-app
# package.json তৈরি
npm init -y
# server library
npm install socket.io
# client library (কেবলমাত্র Node client দরকার হলে)
npm install socket.io-clientServer-এ শুধু socket.io install হয়। Browser client-এর জন্য socket.io-client আলাদা install করতে হয় না — server নিজেই /socket.io/socket.io.js দিয়ে সেই client দেয় (নিচে দেখুন)।
npm list socket.io দিয়ে version দেখুন। এই guide Socket.IO v4 (যেমন 4.8) অনুসরণ করে। Server ও client-এর major version মিল রাখুন (4.x-এর সাথে 4.x) — না হলে protocol mismatch হতে পারে।
Client Setup — Browser (CDN)
Server চালু করলে Socket.IO স্বয়ংক্রিয়ভাবে /socket.io/socket.io.js দিয়ে browser client দেয়। তাই client install করা ছাড়াই <script> ট্যাগ দিয়ে ব্যবহার যায়:
<script src="/socket.io/socket.io.js"></script>
<script>
const socket = io();
</script>Client Setup — Node (npm)
Browser ছাড়া Node client:
import { io } from "socket.io-client";
const socket = io("http://localhost:3000");
socket.on("connect", () => {
console.log("Connected:", socket.id);
});প্রথম Server
// server.js
const { Server } = require("socket.io");
const io = new Server(3000, {
cors: { origin: "*" },
});
io.on("connection", (socket) => {
console.log("New client:", socket.id);
});
console.log("Server চালু: http://localhost:3000");node server.js
# Output:
Server চালু: http://localhost:3000
New client: 0A1b2C3d4e5f6g7h8i9jকী ঘটল:
new Server(3000)— port 3000-এ socket server চালুcors: { origin: "*" }— যেকোনো origin থেকে connect allowed (dev-এর জন্য)io.on("connection", ...)— প্রতিবার নতুন client join করলে callback চলেsocket.id— client-এর unique identifier
Expected Behavior
- Browser-এ
index.htmlখুললে (server instance থেকে serve হলে) console-এ"Connected: <id>"দেখবেন - Terminal-এ server-এ
"New client: <id>"দেখবেন - Tab/ব্রাউজার close করলে connection চলে যাবে
সাধারণ ভুল ও সমাধান
- কাজ করছে না, client connect হচ্ছে না — check করুন
io(url)-এর url সঠিক;http://localhost:3000 - CORS error — browser client অন্য origin-এ থাকলে server-এ
cors: { origin: "*" }দিন (production-এ কঠোরভাবে নির্দিষ্ট origin দিন; বিস্তারিত CORS Configuration-এ) - Version mismatch — server
socket.ioও clientsocket.io-client-এর major version মিল রাখুন
Practice Task
socketio-appfolder-এ উপরের server বসিয়ে client connect করুন- ২টি browser tab খুলুন — দুটি আলাদা
socket.idপাবেন কি দেখুন
সম্পর্কিত অধ্যায়: Client and Server Setup · Connecting and Disconnecting