0

我有非常简单的服务器

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

它可以抛出什么异常 except listen EADDRINUSE
如果用户在请求发送过程中断开连接,它会出错吗?还是这样的?

4

1 回答 1

1

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

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

当您正在谈论的事件是幕后的东西,例如客户端断开连接或超时或类似情况。这些事件是异步发生的,这就是为什么不能将它们扔给 node.js 执行。

您仍然有自己请求的事件,并且必须订阅它们,这里有一个很好的答案,涵盖了您需要的内容:node.js http 服务器,检测客户端何时断开连接

于 2013-07-11T09:49:05.960 回答