使用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