Node.js Socket.IO Module : Real-time Communication Guide

Other Blogs

Blogs ❯❯ NodeJS

Image could not load

Node.js socket.io

Node.js Socket.IO Module : Real-time Communication Guide

Node.js एक powerful platform है जो asynchronous events-driven applications बनाने के लिए use होता है। Socket.IO एक popular library है जो Node.js applications में real-time, bidirectional communication को enable करता है।

इस blog में, हम socket.io module के बारे में detail में समझेंगे और देखेंगे कैसे हम real-time applications create कर सकते हैं।

NodeJS socket.io Module

socket.io एक JavaScript library है जो web sockets को use करके real-time communication को easy और reliable बनाता है। यह server और client के बीच low-latency, full-duplex communication enable करता है।

इसका use chat applications, live notifications, real-time analytics, और gaming applications में होता है।

Features of socket.io

  • Real-time Communication : Instant messaging और updates के लिए real-time communication support.

  • Event-driven : Events को emit और listen करने कि facility देता है।

  • Cross-browser Compatibility : हर browser पे consistent communication support करता है।

  • Fallback Mechanisms : अगर web sockets unavailable हैं तो automatic HTTP long-polling fallback.

Install of socket.io

Socket.IO को Node.js project में install करने के लिए आपको npm package manager का use करना होगा. यह command run करें।

mkdir node-chat
cd node-chat
npm init
npm install express socket.io

NodeJS socket.io example

अब हम एक simple example देखेंगे कि कैसे Socket.IO module को use करके real-time communication setup करते हैं -

1. Server Configuration

सबसे पहले, एक server.js file बनाएं और basic Socket.IO server configuration set up करें -

const express = require('express'); const http = require('http'); const socketIo = require('socket.io'); // Express app setup const app = express(); const server = http.createServer(app); const io = socketIo(server); // Serve the client files app.use(express.static('public')); // Handle socket connections io.on('connection', (socket) => { console.log('New client connected'); io.emit('message', 'Server connected try to type something.'); // Handle incoming messages socket.on('message', (message) => { console.log('Received message:', message); // Broadcast message to all connected clients io.emit('message', message); }); // Handle client disconnection socket.on('disconnect', () => { console.log('Client disconnected'); }); }); // Start the server. const PORT = 3000; server.listen(PORT, () => { console.log(`Server running on port ${PORT}`); });

2. Client Configuration

अब हम एक simple HTML page create करेंगे जो Socket.IO client के through server से connect होगा , इस file को आप अपने application के root directory के अंदर public/index.html में रखें।

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Socket.IO Chat</title> <script src="/socket.io/socket.io.js"></script> </head> <body> <h1>Chat Room</h1> <input type="text" id="messageInput" placeholder="Type a message..."> <button id="sendButton">Send</button> <ul id="messages"></ul> <script> const socket = io(); const messageInput = document.getElementById('messageInput'); const sendButton = document.getElementById('sendButton'); const messagesList = document.getElementById('messages'); // Send message to the server sendButton.addEventListener('click', () => { const message = messageInput.value; socket.emit('message', message); messageInput.value = ''; }); // Receive messages from the server socket.on('message', (message) => { const listItem = document.createElement('li'); listItem.textContent = message; messagesList.appendChild(listItem); }); </script> </body> </html>

आपके project का directory structure कुछ ऐसा होगा।

nodejs-chat/
├── server.js
└── public/
    └── index.html

Explanation

  • Server Setup : Server-side code में, हम Express और HTTP server setup करते हैं, और Socket.IO को integrate करते है। Client connections और messages handle करते हैं।

  • Client Setup : Client-side code में, हम Socket.IO client library को use करके server से connect करते हैं और events को emit और listen करते हैं।

Run application

finally अब node server.js command run करें और http://localhost:3000 url को browser में hit करें।

NodeJS socket.io Events

Socket.IO में events emit और listen करने का feature है जो client और server के बीच communication को manage करता है।

Common events include :
  • connect : जब client server से connect होता है।

  • disconnect : जब client server से disconnect होता है।

  • Custom events : आप custom events भी define कर सकते हैं जैसे message, notification, etc.

Real-world Use Cases

  • Chat Applications : Real-time chat applications जहाँ users को instant messages send और receive करने होते हैं।

  • Live Notifications : Real-time notifications जैसे social media updates, alerts, etc.

  • Collaborative Tools : Real-time collaboration tools जैसे document editing, whiteboards, etc.

  • Gaming : Real-time multiplayer gaming applications.

Conclusion

socket.io एक powerful tool है जो आपको Node.js applications में real-time communication implement करने कि सुविधा देता है। इस guide के through, आप socket.io module को install, configure, और use करना सीख चुके हैं। इस module के features को आप अपने applications में implement करके real-time interactions और features को enhance कर सकते हैं।

Socket.IO के साथ आप अपने users को interactive और responsive experience provide कर सकते हैं, जो modern web applications के लिए essential है।

Happy coding with Socket.IO and Node.js!

Recent Blogs

Loading ...

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook

Your Thought ?

Please wait . . .

    0 Comment(s) found !