使用node.js创buildhttpserver

iam新的node.js正在尝试创build一个http服务器并产生一个subprocess。

看代码

var server = http.createServer(function(req, res) { res.writeHead(200); switch(req.url) { case '/vm/start': req.on('data', function(data) { console.log("hello"); console.log(data.toString()); exec('CALin.exe', function(err, data) { console.log(err) console.log(data.toString()); }); res.end(''); }); }); break; } }); server.listen(9090); console.log("Server running on the port 9090"); 

而我试图运行上面的代码使用这个urlhttp://172.16.2.51:9090/vm/start得到nothing.and浏览器显示连接重置问题我不知道这是为什么发生

 node server.js Server running on the port 9090 

在请求中没有数据被发送,所以data事件不会被触发,因此res.end永远不会被调用,并且请求超时。 为请求end事件添加一个监听器,然后调用response.end

把你的代码写在一个js文件中并运行它

 var http = require("http"); var server = http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/html"}); response.write("<!DOCTYPE "html">"); response.write("<html>"); response.write("<head>"); response.write("<title>Hello World Page</title>"); response.write("</head>"); response.write("<body>"); response.write("Hello World!"); response.write("</body>"); response.write("</html>"); response.end(); }); server.listen(9090); console.log("Server is listening"); 

运行这个代码

  node web_server.js