Node.js:它可以抛出哪些HTTP异常?

时间:2013-07-11 08:42:16

标签: node.js http

我的服务器非常简单

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

listen EADDRINUSE外,它可以抛出什么例外? 如果用户在请求发送过程中断开连接,是否会出现错误?或类似的东西?

1 个答案:

答案 0 :(得分:1)

它不会在断开连接的客户端这样的情况下抛出异常 - 是非常“正常”的行为。

在调用http.createServer时会抛出EADDRINUSE异常,因为它尝试创建套接字,如果端口已在使用中,则会失败。

当你正在谈论的事件是在幕后的东西,如客户端断开连接,或超时,或类似。这些事件是异步发生的,这就是为什么它们不能被抛到node.js执行中的原因。

您仍然有自己请求的事件,并且必须订阅它们,这里有一个很好的答案,涵盖了您的需求:node.js http server, detect when clients disconnect