If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
इस blog में हम Node.js Net module की best practices explore करेंगे, जो आपको efficient and secure network applications develop करने में मदद करेंगी।
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 देता है।
TCP Server : ये server connections को accept करता है और client requests को handle करता है।
TCP Client : ये client server के साथ connection establish करता है और data exchange करता है।
Socket : ये दो endpoints के बीच communication channel है।
●●●
एक 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');
});
●●●
एक 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}`);
});
●●●
Network delays और hung connections को avoid करने के लिए timeouts set करना जरूरी है। ये ensure करता है की resources waste न हो और application responsive रहे।
socket.setTimeout(30000); // 30 seconds
socket.on('timeout', () => {
console.log('Connection timed out');
socket.end();
});
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.
}
});
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.
Ensure करें की connections close hone के बाद resources release हो जाएँ। Leak detection और cleanup mechanisms implement करें।
socket.on('close', () => {
console.log('Connection closed');
// Cleanup code.
});
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
}
●●●
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 :)
Loading ...