11

我正在使用Eclipse 的nodeeclipse插件来运行我的节点 js 项目。以下 js 文件工作正常,但h1标记不工作。我只能看到纯文本。加上我在运行时遇到此异常。请帮助我出去。

文件

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

例外

 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
4

2 回答 2

17

Error: listen EADDRINUSE

此错误意味着您已经有另一个进程正在侦听端口 3000。

以下是如何找出它在 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.
于 2014-02-24T07:24:57.417 回答
2

正如帕特里克所说Error: listen EADDRINUSE

此错误意味着您已经有另一个进程正在侦听端口 3000。

如果您使用 Nodeclipse 运行 Node.js 应用程序,您可以在 Debug View 中看到当前正在运行的应用程序列表(默认显示在 Node 透视图中)。然后您可以终止选定或全部,重新启动等。

是的,调试视图不仅包括调试的应用程序。它应该被命名为 Launch View,但它是 Eclipse 中的标准 View,我们按它的名字命名。

也可以通过关闭其控制台来单独终止正在运行的应用程序(使用红色方形图标)

于 2014-02-25T03:39:08.227 回答