2013-07-11 21 views
0

我有很簡單的服務器Node.js:它可能拋出哪些HTTP異常?

http.createServer(function(request, response) { 
    response.writeHead(200); 
    response.end("Hello world"); 
}).listen(8080); 

可以把它拋出什麼異常,除了listen EADDRINUSE
如果用戶在請求發送過程中斷開連接,是否會發生錯誤?或者類似的東西?

回答

1

它不會引發異常在這樣的情況作爲斷開客戶端 - 很「正常」的行爲。

EADDRINUSE異常在調用http.createServer時引發,因爲它試圖創建套接字,並且在端口已被使用的情況下將失敗。

雖然你說的事件,是幕後的東西,比如客戶端斷開連接,或超時,或類似的。這些事件是異步發生的,這就是爲什麼他們不能僅僅在不知情的情況下拋出node.js執行。

你還有事件要求它自己,並且必須訂閱他們,這裏有很好的答案,涵蓋你需要的東西:node.js http server, detect when clients disconnect