Skener portů Node.js

Node.js se stal neuvěřitelným nástrojem pro vytváření služeb nebo utilit, které fungují jako služba. Obvykle je to npm start , chvíli počkejte a uvidíte, že nástroj poskytuje adresu a port; dobrým příkladem je localhost:8000 . Jedna věc, která mi na tomto vzoru vadí, je, že pokud máte mnoho obslužných utilit, na kterých pracujete, narazíte na chyby „použitý port“, po kterých musíte projít všechny své utilitky, abyste zjistili, který z nich zvolit. vypnout.

Tento problém má snadné řešení: Node Port Scanner. Tento nástroj poskytuje metody pro nalezení používaných nebo dostupných portů na daném hostiteli!

Použití skeneru portů

Nejběžnějším případem použití pro řešení kolizí portů by bylo findAPortNotInUse :

var portscanner = require('portscanner');

// 127.0.0.1 is the default hostname; not required to provide
portscanner.findAPortNotInUse([3000, 3010], '127.0.0.1').then(port => {
  console.log(`Port ${port} is available!`);

  // Now start your service on this port...
});

Poskytnutí řady portů a následné spuštění na prvním dostupném portu je jednoduché – žádné další kolize.

Můžete také zkontrolovat stav daného portu nebo zkontrolovat porty, které se používají:

// Get port status
portscanner.checkPortStatus(3000, '127.0.0.1').then(status => {
  // Status is 'open' if currently in use or 'closed' if available
  console.log(status);
});

// Find port in use
portscanner.findAPortInUse([3000, 3005, 3006], '127.0.0.1').then(port => {
  console.log('PORT IN USE AT: ' + port);
});

Použití tohoto nástroje pro skenování portů je neuvěřitelně jednoduché a nejjednodušší způsob, jak zajistit spuštění vaší služby na jakémkoli dostupném portu. Použití pevně zakódovaného portu, pokud je zbytečné, vede pouze k frustraci!