如果我运行端口80的服务器,并尝试使用xmlHTTPrequest我得到此错误:Error: listen EADDRINUSE
如果我想要请求,当我在端口80上运行服务器时,为什么nodejs有问题呢?对于网络浏览器来说这不是问题:我可以在互联网上冲浪,而服务器正在运行.
服务器是:
net.createServer(function (socket) {
socket.name = socket.remoteAddress + ":" + socket.remotePort;
console.log('connection request from: ' + socket.remoteAddress);
socket.destroy();
}).listen(options.port);
Run Code Online (Sandbox Code Playgroud)
请求:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
sys.puts("State: " + this.readyState);
if (this.readyState == 4) {
sys.puts("Complete.\nBody length: " + this.responseText.length);
sys.puts("Body:\n" + this.responseText);
}
};
xhr.open("GET", "http://mywebsite.com");
xhr.send();
Run Code Online (Sandbox Code Playgroud) 我有一个使用connect在node.js中运行的简单服务器:
var server = require('connect').createServer();
//actions...
server.listen(3000);
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我有实际的处理程序,但这是基本的想法.我一直遇到的问题是
EADDRINUSE, Address already in use
Run Code Online (Sandbox Code Playgroud)
在以前崩溃或错误之后再次运行我的应用程序时,我收到此错误.由于我没有打开终端的新实例,因此我将关闭该过程ctr + z.
我相当确定我所要做的就是关闭服务器或连接.我打过电话server.close()的process.on('exit', ...);,没有运气.