微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

基本的Node.js示例不适用于Windows 7

我从 http://nodejs.org/#download,v0.6.6安装了node.js.我使用的是Windows 7 32位.

我一直在网上经历各种各样的尝试,并希望在这样做的同时进行实验,但我似乎无法让node.js工作. Node将运行我的.js文件,但浏览器的任何请求都会超时.

这是一个典型的Hello World示例,它不起作用:

var http = require('http');
http.createServer(function (req,res) {
  res.writeHead(200,{'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337);

将我的浏览器指向127.0.0.1:1337或localhost:1337不起作用.浏览器的请求超时.我也试过听(1337,’0.0.0.0′)并听(1337,’127.0.0.1′).

我知道服务器正在运行;如果我按CTRL C并停止节点,浏览器会立即返回ERR_CONNECTION_RESET.

我也尝试在这个要点中运行代码,这将无效:https://gist.github.com/1339846.我最终得到了控制台输出“Listening!”然后别的什么.

此外,我尝试了不同的端口,我的防火墙已关闭

netsh firewall set opmode mode=disable

我试过防火墙完全禁用,服务停止了.如果我使用netstat -noa检查连接,我可以看到node为浏览器打开了一堆连接,所有连接都处于CLOSE_WAIT状态.所以看起来连接正在发生,但node.js无法正常工作.

应该由请求启动的回调函数永远不会执行 – 我在各个区域中添加了一些console.log语句,除了回调中的任何一个,它们都执行.

我卸载,重新安装,尝试了几个以前的版本,重新启动我的机器……没有.

任何帮助表示赞赏!

更新:我刚刚放弃了.我已经尝试了所有我能想到的东西,并且最终在VirtualBox中的Ubuntu实例中运行node.js比在吸管时更容易.

解决方法

!!!!!!同样的问题发生在我身上….

这是一个我还没有找到的解决方案:

查看具有高级安全性的Windows防火墙,查看是否阻止或出现两次针对V8 JavaScript的Evented I / O.

如果是,则取消阻止并删除重复的条目.如果安装/卸载/安装nodeJs,则会有2个条目.

此外,当节点首次运行时,将打开“窗口防火墙”对话框,询问您是否要允许节点具有防火墙访问权如果您按“否”或只是关闭窗口而不询问,它将为V8 JavaScript创建Evented I / O并且它将被阻止.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐