আরও সহজ পদ্ধতি আছে।
সেটটাইমআউট ব্যবহার করা বা সরাসরি সকেটের সাথে কাজ করার পরিবর্তে,
ক্লায়েন্টের ব্যবহারগুলিতে আমরা 'বিকল্পগুলিতে' টাইমআউট ব্যবহার করতে পারি
নীচে 3 অংশে সার্ভার এবং ক্লায়েন্ট উভয়ের কোড রয়েছে।
মডিউল এবং বিকল্প অংশ:
'use strict';
const assert = require('assert');
const http = require('http');
const options = {
host: '127.0.0.1',
port: 3000,
method: 'GET',
path: '/',
timeout: 2000
};
সার্ভার অংশ:
function startServer() {
console.log('startServer');
const server = http.createServer();
server
.listen(options.port, options.host, function () {
console.log('Server listening on http://' + options.host + ':' + options.port);
console.log('');
startClient();
});
}
ক্লায়েন্ট অংশ:
function startClient() {
console.log('startClient');
const req = http.request(options);
req.on('close', function () {
console.log("got closed!");
});
req.on('timeout', function () {
console.log("timeout! " + (options.timeout / 1000) + " seconds expired");
req.destroy();
});
req.on('error', function (e) {
if (req.connection.destroyed) {
console.log("got error, req.destroy() was called!");
return;
}
console.log("got error! ", e);
});
req.end();
}
startServer();
যদি আপনি উপরের 3 টি অংশ একটি ফাইলে "a.js" রাখেন এবং তারপরে চালান:
node a.js
তারপরে, আউটপুটটি হবে:
startServer
Server listening on http:
startClient
timeout! 2 seconds expired
got closed!
got error, req.destroy() was called!
আশা করি এইটি কাজ করবে.