Real-time Features with Socket.io
Real-time Features with Socket.io (Express.js)
Socket.io ব্যবহার করে Express.js অ্যাপ্লিকেশনে কিভাবে real-time communication (instant update, live data, notification) তৈরি করা যায়, তা এই টিউটোরিয়ালে সহজভাবে ব্যাখ্যা করা হয়েছে।
📌 Socket.io কী?
Socket.io হলো একটি JavaScript লাইব্রেরি যা client এবং server এর মধ্যে bi-directional real-time communication তৈরি করতে সাহায্য করে। এটি WebSocket-এর উপর ভিত্তি করে কাজ করে এবং fallback হিসেবে HTTP long-polling ব্যবহার করতে পারে।
⚡ Live Update
Page reload ছাড়াই instant data update করা যায়।
💬 Real-time Chat
Chat application, comment system ও messaging তৈরি করা সহজ।
🔔 Notification
Live notification ও alert system তৈরি করা যায়।
⚙️ Installation
npm install express socket.io
🧩 Express + Socket.io (Server)
const express = require('express');
const http = require('http');
const { Server } = require('socket.io');
const app = express();
const server = http.createServer(app);
const io = new Server(server);
io.on('connection', (socket) => {
console.log('User connected');
socket.on('message', (data) => {
io.emit('message', data);
});
socket.on('disconnect', () => {
console.log('User disconnected');
});
});
server.listen(3000, () => {
console.log('Server running on port 3000');
});
🌐 Client-side JavaScript
🏠 Rooms & Broadcasting
Socket.io Rooms ব্যবহার করে নির্দিষ্ট user group-এ message পাঠানো যায়।
socket.join('admin');
io.to('admin').emit('notification', 'New user joined!');
🌍 Real-Life Use Cases
- Live Chat Application
- Real-time Dashboard (Analytics, Stock Price)
- Online Multiplayer Game
- Live Comment & Notification System
🔐 Performance & Security Tips
- Always validate incoming socket data
- Authentication (JWT / Session) ব্যবহার করুন
- Large scale app-এ Redis adapter ব্যবহার করুন
- Unnecessary broadcast এড়িয়ে চলুন
লোড হচ্ছে...
1. Socket.io কী এবং এটি কোথায় ব্যবহার করা হয়?
Socket.io একটি লাইব্রেরি যা real-time, bidirectional communication নিশ্চিত করে। এটি chat app, live notification, online game ইত্যাদিতে ব্যবহৃত হয়।
2. Socket.io এবং WebSocket এর পার্থক্য কী?
WebSocket একটি প্রোটোকল, আর Socket.io একটি লাইব্রেরি যা fallback, reconnection ও event-based সুবিধা দেয়।