2014-02-24 5 views
11

Ich verwende nodeclipse Plugin für Eclipse hört auf meine Knoten js project.Following js-Datei ausgeführt wird ordnungsgemäß funktioniert aber h1 Tag ist nicht arbeiten. Ich kann nur einen einfachen Text sehen.plus Ich bekomme diese Ausnahme in der Laufzeitumgebung. Bitte helfen Sie mir.Knoten js + Fehler: EADDRINUSE + Unhandle 'Fehler' Ereignis

Javascript-Datei

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/'); 

Ausnahme

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 

Antwort

17

Error: listen EADDRINUSE

Dieser Fehler bedeutet, dass Sie bereits ein anderer Prozess auf Port lauscht haben 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. 
+1

+1 Bitte stellen Sie sicher, dass Sie die Schritte in Ihrer Antwort enthalten. Wenn sich der Link ändert oder der Inhalt sich ändert, kann diese Antwort weniger nützlich sein. – thefourtheye

+0

dachte nicht, dass das notwendig war, da es für die Frage nicht direkt relevant ist, es waren zusätzliche Notizen. – Patrick

2

Wie Patrick gesagt hat Error: listen EADDRINUSE

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

Wenn Sie Nodeclipse verwendet Node.js Anwendung auszuführen, können Sie die Liste der aktuell ausgeführten Anwendungen in Debug-Ansicht (Standardmäßig in Knoten sehen Perspektive). Dann können Sie ausgewählte oder alle beenden, neu starten usw.

Ja, Debug View enthält nicht nur debuggte Anwendungen. Es sollte als Launch View bezeichnet werden, aber es ist Standard View in Eclipse, wir nennen es so, wie es heißt.

Auch können laufenden Anwendungen durch Schließen seiner Konsole beendet einzeln (rotes Quadrat Symbol verwenden)