Cover Image for Node.js में एक TCP सर्वर कैसे बनाएं
[Node.js][TCP][शुरुआती]
25 जून 2024

Node.js में एक TCP सर्वर कैसे बनाएं

इस लेख में, हम देखेंगे कि Node.js में एक सरल TCP सर्वर कैसे बनाया जाए। TCP सबसे सामान्य ट्रांसपोर्ट लेयर प्रोटोकॉल में से एक है। यह एक विश्वसनीय तरीका प्रदान करता है जिससे पैकेट्स को एक क्रमबद्ध और त्रुटि-जांचित स्ट्रीम में भेजा जा सकता है। TCP कनेक्शन-ओरिएंटेड है, जिसका अर्थ है कि डेटा भेजने से पहले क्लाइंट और सर्वर के बीच एक कनेक्शन स्थापित होना चाहिए।

Node.js स्थापित करना:

यदि आपने अभी तक Node.js स्थापित नहीं किया है, तो इसे आधिकारिक वेबसाइट से डाउनलोड और इंस्टॉल करें।

प्रोजेक्ट बनाना:

अपने प्रोजेक्ट के लिए एक नया फ़ोल्डर बनाएं और उसमें जाएं:

mkdir tcp-server
cd tcp-server

server.js नामक एक फ़ाइल बनाएं।

net मॉड्यूल आयात करें। इस मॉड्यूल को इंस्टॉल करने की आवश्यकता नहीं है क्योंकि यह Node.js के साथ आता है।

const net = require('net');

createServer विधि को कॉल करें। यह एक सर्वर ऑब्जेक्ट बनाता है।

const net = require('net');
const server = net.createServer();

createServer विधि के लिए एक callback जोड़ें। जब connection इवेंट उत्पन्न होता है, तो यह कॉलबैक बुलाया जाता है। यह इवेंट तब होता है जब सर्वर के साथ एक नया कनेक्शन स्थापित होता है। यह इवेंट एक ऑब्जेक्ट लौटाता है जिसे हम socket नाम देते हैं। यह socket ऑब्जेक्ट net.Socket का एक उदाहरण है।

const net = require('net');
const server = net.createServer((socket) => {
  console.log('क्लाइंट कनेक्टेड');
});

हम write विधि का उपयोग करके सॉकेट को डेटा भेज सकते हैं। हम इसे अपनी पसंद की एक स्ट्रिंग पास करते हैं, और यह क्लाइंट को भेजा जाता है।

const net = require('net');
const server = net.createServer((socket) => {
  console.log('क्लाइंट कनेक्टेड');

  socket.write('TCP सर्वर से नमस्ते!');
});

जब क्लाइंट से डेटा प्राप्त होता है, तो data इवेंट ट्रिगर होता है।

const net = require('net');
const server = net.createServer((socket) => {
  console.log('क्लाइंट कनेक्टेड');

  socket.write('TCP सर्वर से नमस्ते!');

  socket.on('data', (data) => {
    console.log('प्राप्त:', data.toString());
  });
});

जब सॉकेट पूरी तरह से बंद हो जाता है, तो end इवेंट होता है। इसका मतलब है कि संचार समाप्त हो गया है।

const net = require('net');
const server = net.createServer((socket) => {
  console.log('क्लाइंट कनेक्टेड');

  socket.write('TCP सर्वर से नमस्ते!');

  socket.on('data', (data) => {
    console.log('प्राप्त:', data.toString());
  });

  socket.on('end', () => {
    console.log('क्लाइंट डिस्कनेक्टेड');
  });

  // त्रुटियों को संभालें
  socket.on('error', (err) => {
    console.error('त्रुटि:', err.message);
  });
});

पोर्ट और पता सेट करें जहां सर्वर सुनेगा।

const PORT = 3500;
const HOST = '0.0.0.0';

अंत में, सर्वर को शुरू करने के लिए, .listen() विधि का उपयोग करें। यह पोर्ट नंबर और पता लेता है। अब हमारा सर्वर चल रहा है और नए कनेक्शनों की प्रतीक्षा कर रहा है।

const net = require('net');
const server = net.createServer((socket) => {
  console.log('क्लाइंट कनेक्टेड');

  socket.write('TCP सर्वर से नमस्ते!');

  socket.on('data', (data) => {
    console.log('क्लाइंट से संदेश:', data.toString());
  });

  socket.on('end', () => {
    console.log('क्लाइंट डिस्कनेक्टेड');
  });

  // त्रुटियों को संभालें
  socket.on('error', (err) => {
    console.error('त्रुटि:', err.message);
  });
});

const PORT = 3500;
const HOST = '0.0.0.0';

server.listen(PORT, HOST);

listen विधि एक callback तर्क भी लेती है जो listening इवेंट के उत्पन्न होने पर बुलाया जाता है, यह संकेत देता है कि सर्वर इनकमिंग कनेक्शनों के लिए सुनना शुरू कर चुका है। हम इस इवेंट का उपयोग एक संदेश प्रिंट करने के लिए करते हैं जो हमें बताता है कि सर्वर चालू और चल रहा है।

server.listen(PORT, HOST, () => {
  console.log(`सर्वर ${HOST}:${PORT} पर सुन रहा है`);
});

सर्वर चलाना:

सर्वर को निम्नलिखित कमांड का उपयोग करके शुरू करें:

node server.js

आपको संदेश देखना चाहिए:

सर्वर 0.0.0.0:3500 पर सुन रहा है

सर्वर से कनेक्ट करना:

हमारे TCP सर्वर का परीक्षण करने के लिए, हम telnet कमांड का उपयोग कर सकते हैं। एक नया टर्मिनल खोलें और निम्नलिखित कमांड चलाएं:

telnet 0.0.0.0 3500

आपको संदेश देखना चाहिए:

TCP सर्वर से नमस्ते!

वैकल्पिक रूप से, हम अपने सर्वर का परीक्षण करने के लिए एक छोटी फ़ाइल client.js लिख सकते हैं।

const net = require("net");

const client = net.connect({ port: 3500 }, () => {
  console.log("कनेक्शन स्थापित");
  client.write("क्लाइंट से नमस्ते");
});

client.on("data", (data) => {
  console.log("सर्वर से संदेश:", data.toString());
});

client.on("end", () => {
  console.log("सर्वर से डिस्कनेक्ट किया गया");
});

इसे निम्नलिखित कमांड का उपयोग करके चलाएं:

node client.js

निष्कर्ष:

इस लेख में, हमने Node.js में एक सरल TCP सर्वर बनाया जो क्लाइंट्स से कनेक्शन स्वीकार करता है, डेटा प्रोसेस करता है, और प्रतिक्रियाएं भेजता है। यह एक बुनियादी उदाहरण है जिसे आपकी आवश्यकताओं के अनुसार विस्तारित और सुधारा जा सकता है। आप प्रमाणीकरण, डेटा स्टोरेज, कमांड प्रोसेसिंग, और बहुत कुछ जोड़ सकते हैं। इस उदाहरण का पूरा कोड GitHub Gist पर उपलब्ध है।

यदि आपके कोई प्रश्न या सुझाव हैं, तो मुझसे सोशल मीडिया पर संपर्क करने में संकोच न करें। हैप्पी कोडिंग!

अगला पढ़ें

हमारे समुदाय से जुड़ें