आप नोड में एजेंट का उदाहरण बनाने के लिए नई एजेंट() विधि का उपयोग कर सकते हैं। एक कस्टम 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' }