Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

Node.js . में एक एजेंट बनाना

<घंटा/>

आप नोड में एजेंट का उदाहरण बनाने के लिए नई एजेंट() विधि का उपयोग कर सकते हैं। एक कस्टम http.Agent इंस्टेंस बनाने के लिए http.request() विधि 'http' मॉड्यूल से GlobalAgent का उपयोग करती है।

सिंटैक्स

new Agent({options})

पैरामीटर

उपरोक्त फ़ंक्शन निम्नलिखित पैरामीटर स्वीकार कर सकता है -

  • विकल्प - इन विकल्पों में विन्यास योग्य विकल्प होंगे जिन्हें निर्माण के दौरान एजेंट पर सेट किया जा सकता है। नीचे वे क्षेत्र/विकल्प हैं जो एजेंट के पास हो सकते हैं -

    • जिंदा रखें - यह विधि सॉकेट्स को चारों ओर रखती है कि कोई बकाया अनुरोध है या नहीं, लेकिन वास्तव में टीसीपी कनेक्शन को फिर से स्थापित किए बिना भविष्य के किसी भी अनुरोध के लिए उन्हें रखता है। इस कनेक्शन को बंद करने के लिए कोई 'क्लोज' कनेक्शन का इस्तेमाल कर सकता है। डिफ़ॉल्ट मान:गलत.

    • keepAliveMsecs - KeepAlive विकल्प को सत्य के रूप में उपयोग करने पर, यह विकल्प TCP कीप-अलाइव पैकेट के लिए प्रारंभिक विलंब को परिभाषित करता है। डिफ़ॉल्ट मान 1000 है।

    • अधिकतम सॉकेट - यह विकल्प प्रति होस्ट अनुमत अधिकतम संख्या में सॉकेट को परिभाषित करता है। डिफ़ॉल्ट रूप से यह मान अनंत है।

    • maxTotalSockets - सभी मेजबानों के लिए अनुमत सॉकेट्स की कुल संख्या। सीमा तक पहुंचने तक प्रत्येक अनुरोध एक नए सॉकेट का उपयोग करता है। डिफ़ॉल्ट मान अनंत है।

    • maxFreeSockets - यह फ्री सॉकेट की अधिकतम संख्या है जिसे फ्री स्टेट में खुला छोड़ा जा सकता है। डिफ़ॉल्ट मान है:256.

    • शेड्यूलिंग - यह शेड्यूलिंग रणनीति है जिसे उपयोग करने के लिए अगला मुफ्त सॉकेट चुनते समय लागू किया जा सकता है। शेड्यूलिंग या तो 'फीफो' या 'लाइफो' हो सकती है।

    • समय समाप्त - मिलीसेकंड में सॉकेट टाइमआउट का प्रतिनिधित्व करता है।

उदाहरण

- Agent.js नाम से एक फाइल बनाएं और नीचे दिए गए कोड स्निपेट को कॉपी करें। फ़ाइल बनाने के बाद, इस कोड को चलाने के लिए निम्न कमांड का उपयोग करें जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है -

node agent.js

एजेंट.जेएस

// Node.js program to demonstrate the creation of new Agent

// Importing the http module
const http = require('http');

// Creating a new agent
var agent = new http.Agent({});

// Defining options for agent
const aliveAgent = new http.Agent({
   keepAlive: true, maxSockets: 5,
});

// Creating connection with alive agent
var aliveConnection = aliveAgent.createConnection;

// Creating new connection
var connection = agent.createConnection;

// Printing the connection
console.log('Succesfully created connection with agent: ',
connection.toString);
console.log('Succesfully created connection with alive agent: ',
aliveConnection.toString);

आउटपुट

C:\home\node>> node agent.js
Succesfully created connection with agent: function toString() { [native code] }
Succesfully created connection with alive agent: function toString() { [native code] }

उदाहरण

सॉकेट या एजेंट बनाने का प्रयास करते समय 'एजेंटकीपलाइव' मॉड्यूल बेहतर लचीलापन प्रदान करता है। बेहतर समझ के लिए हम नीचे दिए गए उदाहरण में इस मॉड्यूल का उपयोग करेंगे।

स्थापना

npm install agentkeepalive --save

कार्यक्रम कोड

// Node.js program to demonstrate the creation of new Agent

// Importing the http module
const http = require('http');
// Importing the agentkeepalive module
const Agent = require('agentkeepalive');

// Creating a new agent
const keepAliveAgent = new Agent({});

// Implementing some options
const options = {
   host: 'tutorialspoint.com',
   port: 80,
   path: '/',
   method: 'GET',
   agent: keepAliveAgent,
};

// Requesting details via http server module
const req = http.request(options, (res) => {
   // Printing statuscode, headers and other details
   // received from the request
   console.log("StatusCode: ", res.statusCode);
   console.log("Headers: ", res.headers);
});

// Printing the agent options
console.log("Agent Options: ", req.agent.options);
req.end();

आउटपुट

C:\home\node>> node agent.js
Agent Options: { socketActiveTTL: 0,
   timeout: 30000,
   freeSocketTimeout: 15000,
   keepAlive: true,
   path: null }
StatusCode: 403
Headers: { date: 'Sun, 25 Apr 2021 08:21:14 GMT',
   server: 'Apache',
   'x-frame-options': 'SAMEORIGIN',
   'last-modified': 'Thu, 16 Oct 2014 13:20:58 GMT',
   etag: '"1321-5058a1e728280"',
   'accept-ranges': 'bytes',
   'content-length': '4897',
   'x-xss-protection': '1; mode=block',
   vary: 'User-Agent',
   'keep-alive': 'timeout=5, max=100',
   connection: 'Keep-Alive',
   'content-type': 'text/html; charset=UTF-8' }

  1. जावास्क्रिप्ट में बाइनरी ट्री

    बाइनरी ट्री एक विशेष डेटा संरचना है जिसका उपयोग डेटा संग्रहण उद्देश्यों के लिए किया जाता है। एक बाइनरी ट्री की एक विशेष शर्त होती है कि प्रत्येक नोड में अधिकतम दो बच्चे हो सकते हैं। एक बाइनरी ट्री में एक क्रमबद्ध सरणी और एक लिंक की गई सूची दोनों के लाभ होते हैं क्योंकि खोज एक क्रमबद्ध सरणी में जितनी

  1. जावास्क्रिप्ट में प्राइम का एल्गोरिदम

    Prims algorithm एक लालची एल्गोरिथम है जो भारित अप्रत्यक्ष ग्राफ के लिए न्यूनतम फैले हुए पेड़ को ढूंढता है। यह किनारों का एक सबसेट ढूंढता है जो एक पेड़ बनाता है जिसमें प्रत्येक शीर्ष शामिल होता है, जहां पेड़ के सभी किनारों का कुल वजन कम से कम होता है। एल्गोरिथम इस पेड़ को एक बार में एक शीर्ष बनाकर,

  1. Node.js . में एक्सप्रेस-दर-सीमा को एकीकृत करना

    वेबसाइटों को डॉस और डीडीओएस हमलों से बचाने के लिए दर-सीमित करना दिन-प्रतिदिन महत्वपूर्ण होता जा रहा है। दर-सीमित प्रणाली को किसी भी प्रकार के नकली अनुरोधों या अन्य क्रूर बल के हमलों से रोकता है। दर सीमित करने से आईपी द्वारा अनुरोध किए जाने की संख्या सीमित हो जाती है। एक्सप्रेसरेट-सीमा एक उपयोगकर्ता