Node.js Net Module : Create tcp Client-Server In NodeJS In Hindi

Other Blogs

Blogs ❯❯ NodeJS

Image could not load

NodeJS net Module

इस blog में हम Node.js Net module की best practices explore करेंगे, जो आपको efficient and secure network applications develop करने में मदद करेंगी।

Node.js Net Module

Node.js का Net module network applications develop करने के लिए core module है, जो TCP or IPC (Inter-process Communication) socket streams को handle करता है।

Node.js Net module allow करता है TCP servers और clients create करने की , ये low-level networking के लिए बहुत useful है और आपको TCP-based protocols बनाने की flexibility देता है।

Node.js net Module : Basic Concepts

  • TCP Server : ये server connections को accept करता है और client requests को handle करता है।

  • TCP Client : ये client server के साथ connection establish करता है और data exchange करता है।

  • Socket : ये दो endpoints के बीच communication channel है।

NodeJS Create TCP Server

एक basic TCP server create करने के लिए, आप net.createServer() method का use कर सकते हैं। ये method एक server instance return करता है जो TCP connections को accept करता है।

const net = require('net'); // create TCP server. const server = net.createServer((socket) => { console.log('Client connected'); // Data receive karne par socket.on('data', (data) => { console.log(`Received data: ${data}`); socket.write('Hello from server'); }); // Client disconnect event. socket.on('end', () => { console.log('Client disconnected'); }); // Error handle. socket.on('error', (err) => { console.error(`Error: ${err.message}`); }); }); // Server listen kare on port 3000. server.listen(3000, () => { console.log('Server listening on port 3000'); });

Node.js Create TCP Client

एक TCP client create करने के लिए net.createConnection() method का use होता है , ये method server के साथ connection establish करता है।

const net = require('net'); // TCP client . const client = net.createConnection({ port: 3000 }, () => { console.log('Connected to server'); client.write('Hello from client'); }); // Data receive. client.on('data', (data) => { console.log(`Received: ${data}`); client.end(); // Connection close karein }); // Error handle. client.on('error', (err) => { console.error(`Error: ${err.message}`); });

Node.js net module best practice

Network delays और hung connections को avoid करने के लिए timeouts set करना जरूरी है। ये ensure करता है की resources waste न हो और application responsive रहे।

1. Set Timeouts

socket.setTimeout(30000); // 30 seconds socket.on('timeout', () => { console.log('Connection timed out'); socket.end(); });
2. Handle Data Buffering

TCP connections के साथ आपको data streams handle करना होता है, जो fragmented या incomplete हो सकती हैं। Ensure करें की आप पूरा data receive कर रहे हैं।

let buffer = ''; socket.on('data', (data) => { buffer += data.toString(); if (buffer.endsWith('\n')) { // Assuming '\n' as message delimiter console.log(`Complete message: ${buffer}`); buffer = ''; // Buffer clear. } });
3. Security Implementation

Network communications secure होनी चाहिए , Encryption protocols जैसे TLS/SSL का use करें ताकि data transit में secure रहे।

इसके लिए tls Module का use का सकते हैं।

const tls = require('tls'); // TLS/SSL server aur client create karne ke liye tls.createServer() aur tls.connect() use karein.
4. Resource Management

Ensure करें की connections close hone के बाद resources release हो जाएँ। Leak detection और cleanup mechanisms implement करें।

socket.on('close', () => { console.log('Connection closed'); // Cleanup code. });
5. Consider Scalability 

Load balancing और distributed architectures के साथ आपकी application scale होनी चाहिए , ज्यादा connections को handle clustering techniques का Use करें।

इसके लिए cluster Module का use का सकते हैं।

const cluster = require('cluster'); const numCPUs = require('os').cpus().length; if (cluster.isMaster) { for (let i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on('exit', (worker, code, signal) => { console.log(`Worker ${worker.process.pid} died`); }); } else { // Server logic }

Conclusion

Node.js का Net module powerful networking capabilities provide करता है जो आपको efficient TCP/IP applications बनाने में help करता है। इस blog में हमें देखा की कैसे आप एक simple TCP server और client create कर सकते हैं और कौन सी best practices को follow करना चाहिए ताकि आपकी application secure, efficient, और scalable बने।

आप इन practices को अपनी specific needs के according customize कर सकते हैं। Node.js के साथ networking applications develop करना एक rewarding experience हो सकता है जब आप इन guidelines को follow करते हैं।

Happy Networking with Node.js :)

Ye bhi padh lo :)

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 !