Node js +Error: listen EADDRINUSE + Unhandled 'error' event

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-21 03:48:35

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!