我有非常简单的服务器
http.createServer(function(request, response) {
response.writeHead(200);
response.end("Hello world");
}).listen(8080);
它可以抛出什么异常 except listen EADDRINUSE
?
如果用户在请求发送过程中断开连接,它会出错吗?还是这样的?
在客户端断开连接的情况下,它不会抛出异常——这是非常“正常”的行为。
EADDRINUSE 异常在调用时抛出http.createServer
,因为它试图创建套接字,如果端口已在使用中,则会失败。
当您正在谈论的事件是幕后的东西,例如客户端断开连接或超时或类似情况。这些事件是异步发生的,这就是为什么不能将它们扔给 node.js 执行。
您仍然有自己请求的事件,并且必须订阅它们,这里有一个很好的答案,涵盖了您需要的内容:node.js http 服务器,检测客户端何时断开连接