Hi I'm trying ping a port from nodejs. I use tcp-ping module. I want return available value from tcp.probe function. But i cant. Here is my code
var tcpp = require('tcp-ping');
function ping_port(callback){
tcpp.probe('10.5.177.52', 8080, function(err, available) {
return_value = available;
callback(available);
});
}
function read() {
console.log("Read done")
return return_value;
}
module.exports.ping = function()
{
var port_status = ping_port(read);
console.log(port_status);
return port_status;
}
I resolved my problem by waiting for return_value varrible not equals undefined.Here is my code.
var tcpp = require('tcp-ping');
var return_value;
module.exports.ping = async function(page,ip)
{
tcpp.probe(ip, 8080, function(err, available) {
return_value = available;
});
while(return_value === undefined)
await page.waitFor(100);
return return_value;
}
The page is a puppeteer modules function. I call await foo.ping('page' , 'ip')
from my main async function and its done.
I'm sorry about my bad English and coding. I'm beginner in coding.