2013-10-31 49 views
1

iam新的node.js正在嘗試創建一個http服務器併產生一個子進程。使用node.js創建httpserver

看到代碼

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"); 

,而我試圖運行上面的代碼中使用這個網址http://172.16.2.51:9090/vm/start正在逐漸nothing.and瀏覽器顯示連接復位的問題, 我不知道爲什麼會這樣

node server.js 

Server running on the port 9090 
+0

你可以嘗試使用http:// localhost:9090/vm/start –

+0

[使用node.js進行客戶端服務器通信]的可能重複(http://stackoverflow.com/questions/19700890/client-server-communication-using -node-js) – Brett

+0

刪除exec調用,看看是否有效。對我來說,沒有它就不會重置連接。 – Himanshu

回答

0

將您的代碼寫入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 
1

沒有在請求被髮送所以data事件不會被觸發,因此res.end不會被調用數據和請求超時。爲請求添加監聽器end事件,然後致電response.end