Node js +Error: listen EADDRINUSE + Unhandled 'error' event
Asked Answered
D

2

11

I'm using nodeclipse plugin for eclipse to run my node js project.Following js file is working properly but h1 tag is not working .I can only see a plain text.plus I'm getting this exception in the runtime.please help me out.

javascript file

   var http = require('http');

http.createServer(function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/html'});
    response.end('<html><body><h1>Home</h1> URL was: ' + request.url + '</body></html>');
}).listen(3000, 'localhost');

console.log('Server running at http://localhost:3000/');

exception

 events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:904:11)
    at Server._listen2 (net.js:1042:14)
    at listen (net.js:1064:10)
    at net.js:1146:9
    at dns.js:72:18
    at process._tickCallback (node.js:415:13)
    at Function.Module.runMain (module.js:499:11)
    at startup (node.js:119:16)
    at node.js:902:3
Distemper answered 24/2, 2014 at 7:20 Comment(0)
Z
17

Error: listen EADDRINUSE

This error means that you already have another process listening on port 3000.

Here is how to find out which process it is on windows

C:\> netstat -a -b
(add -n to stop it trying to resolve hostnames, which will make it a lot faster)

Edit: +1 for Dane's recommendation for TCPView. Looks very useful!

-a Displays all connections and listening ports.

-b Displays the executable involved in creating each connection or listening port. In some cases well-known executables host multiple independent components, and in these cases the sequence of components involved in creating the connection or listening port is displayed. In this case the executable name is in [] at the bottom, on top is the component it called, and so forth until TCP/IP was reached. Note that this option can be time-consuming and will fail unless you have sufficient permissions. -n Displays addresses and port numbers in numerical form.
Zosima answered 24/2, 2014 at 7:24 Comment(2)
+1 Please make sure that you include the steps in your answer. If the link changes or the content changes, this answer might become less useful.Myrtice
didn't think that was necessary since it is not directly relevant to the question, it was additional notes.Zosima
S
2

As Patrick has said Error: listen EADDRINUSE

This error means that you already have another process listening on port 3000.

If you used Nodeclipse to run Node.js application, you can see list of currently running apps in Debug View (shown by default in Node perspective). Then you can terminate selected or all, restart etc.

Yes, Debug View does not includes only debugged apps. It should have been named Launch View, but it is standard View in Eclipse, we name it as it is named.

Also running apps can be terminated individually by closing its Console (using red square icon)

Seismography answered 25/2, 2014 at 3:39 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.