问题
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
回答1:
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.
回答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)
来源:https://stackoverflow.com/questions/21981295/node-js-error-listen-eaddrinuse-unhandled-error-event