isPortFree.js 478 B

123456789101112131415161718192021
  1. const net = require('net');
  2. exports = function(port, host) {
  3. return new Promise(resolve => {
  4. const server = net.createServer();
  5. server.unref();
  6. server.on('error', () => resolve(false));
  7. const options = {
  8. port
  9. };
  10. if (host) options.host = host;
  11. server.listen(options, () => {
  12. server.close(() => {
  13. resolve(true);
  14. });
  15. });
  16. });
  17. };
  18. module.exports = exports;