listen()不返回?

时间:2011-08-08 15:33:37

标签: node.js

我正在尝试开始使用Node,并且遇到了困难。当我尝试 运行以下(我见过的所有例子)“开始......” line执行,以及“created。”,但似乎脚本卡在下一行,并且从不打印“已启动”。 (并且服务器不起作用,通过一个尝试 浏览器,telnet,curl等)。关于如何调试的任何建议?

var http = require("http");

function onRequest(request, response) {
  console.log("Request received.");
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}

console.log("starting...");
var s = http.createServer(onRequest);
console.log("created.");
s.listen(8888);
console.log("started.");

Debian GNU / Linux 6.0.1(squeeze),2.6.39-x86_64

从源代码编译node.js 2011.07.19 v0.4.10(稳定版)。

谢谢!

2 个答案:

答案 0 :(得分:0)

实际上,看起来监听套接字访问存在一些问题。尝试更改端口号,关闭防火墙或使用root访问权限运行节点。也许它应该有所帮助; 换句话说,尝试使用python或smth;

答案 1 :(得分:0)

将端口号更改为3000并以root身份运行。确保未使用端口3000(即使用netstat)。您应该看到“已启动”消息。否则,我真的无法帮助。我在Ubuntu上运行Node 0.4.10并且我复制/粘贴了你的代码;它完美运行。如果仍然无效,请重新安装Node。