কম্পিউটার

Node.js এ এজেন্ট তৈরি করা


আপনি নোডে একটি এজেন্টের একটি উদাহরণ তৈরি করতে নতুন Agent() পদ্ধতি ব্যবহার করতে পারেন। http.request() পদ্ধতি একটি কাস্টম http.Agent উদাহরণ তৈরি করতে 'http' মডিউল থেকে গ্লোবালএজেন্ট ব্যবহার করে।

সিনট্যাক্স

new Agent({options})

পরামিতি

উপরের ফাংশনটি নিম্নলিখিত প্যারামিটারগুলি গ্রহণ করতে পারে −

  • বিকল্পগুলি ৷ - এই বিকল্পগুলিতে কনফিগারযোগ্য বিকল্পগুলি থাকবে যা তৈরি করার সময় এজেন্টে সেট করা যেতে পারে। নিচে এজেন্টের ক্ষেত্র/বিকল্প −

    থাকতে পারে
    • জীবিত রাখুন - এই পদ্ধতিটি কোন অসামান্য অনুরোধ আছে কি না তা সকেটগুলিকে আশেপাশে রাখে, কিন্তু TCP সংযোগটি পুনঃস্থাপন না করেই ভবিষ্যতের অনুরোধের জন্য সেগুলিকে রাখে। এই সংযোগটি বন্ধ করতে কেউ 'ক্লোজ' সংযোগ ব্যবহার করতে পারে। ডিফল্ট মান:মিথ্যা।

    • কিপ অ্যালাইভ এমসেক্স – KeepAlive বিকল্পটিকে সত্য হিসাবে ব্যবহার করার সময়, এই বিকল্পটি TCP Keep-Alive প্যাকেটগুলির জন্য প্রাথমিক বিলম্বকে সংজ্ঞায়িত করে। ডিফল্ট মান হল 1000৷

    • maxSockets - এই বিকল্পগুলি প্রতি হোস্টের জন্য অনুমোদিত সকেটের সর্বাধিক সংখ্যা নির্ধারণ করে। ডিফল্টরূপে এই মানটি অসীম৷

    • maxTotalSockets - সমস্ত হোস্টের জন্য অনুমোদিত সকেটের মোট সংখ্যা। সীমা না পৌঁছানো পর্যন্ত প্রতিটি অনুরোধ একটি নতুন সকেট ব্যবহার করে। ডিফল্ট মান হল ইনফিনিটি৷

    • maxFreeSockets - এটি সর্বাধিক সংখ্যক ফ্রি সকেট যা একটি মুক্ত অবস্থায় খোলা রাখা যেতে পারে। ডিফল্ট মান হল:256.

    • শিডিউলিং - এটি হল সময় নির্ধারণের কৌশল যা ব্যবহার করার জন্য পরবর্তী বিনামূল্যের সকেট বাছাই করার সময় প্রয়োগ করা যেতে পারে। সময়সূচী 'ফিফো' বা 'লাইফো' হতে পারে।

    • টাইমআউট - মিলিসেকেন্ডে সকেট টাইমআউট প্রতিনিধিত্ব করে।

উদাহরণ

agent.js নামের একটি ফাইল তৈরি করুন এবং নীচের কোড স্নিপেটটি অনুলিপি করুন। ফাইল তৈরি করার পরে, নীচের উদাহরণে দেখানো এই কোডটি চালানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন −

node agent.js

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. জাভাস্ক্রিপ্ট - হ্যালো ওয়ার্ল্ড

  2. জাভাস্ক্রিপ্টে বাইনারি ট্রি

  3. জাভাস্ক্রিপ্টে প্রিম এর অ্যালগরিদম

  4. Node.js-এ এক্সপ্রেস-রেট-সীমা সংহত করা