hiddentao / gulp-server-livereload

Gulp plugin to run a local webserver with livereload enabled via socket.io. Also comes with standalone command-line interface.
MIT License
93 stars 28 forks source link

Cannot catch EADDRINUSE error #57

Open akaleeroy opened 6 years ago

akaleeroy commented 6 years ago

If a LiveReload server is already running and you try to run another server it is impossible to catch EADDRINUSE error:

const gulp = require('gulp4');
const server = require('gulp-server-livereload');

gulp.task('test', done => {
  gulp.src('./')
    .pipe(server({ port: 80 })
      .on('error', err => console.log('You never see this', err)));
});
events.js:165
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE 127.0.0.1:80
    at Server.setupListenHandle [as _listen2] (net.js:1346:14)
    at listenInCluster (net.js:1387:12)
    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1502:7)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:72:10)
Emitted 'error' event at:
    at Server.emit (domain.js:435:12)
    at emitErrorNT (net.js:1366:8)
    at process._tickCallback (internal/process/next_tick.js:178:19)