如何终止nodejs中的连接

时间:2012-12-16 20:48:32

标签: node.js sockets connection

我有一个家庭作业,只使用节点本机模块构建http服务器。 我试图保护服务器免于过载,因此每个请求都经过哈希处理和存储。 如果某个请求达到了较高的数字,比如说500,我就会调用socket.destroy()

每个间隔(一分钟)我重新启动哈希表。问题是当我做一个以前死了的套接字现在再次工作。我每个间隔唯一做的就是requests = {},与连接无关。

为什么连接再次存在的任何想法?是否有比destroy()更好的使用功能?

由于

1 个答案:

答案 0 :(得分:1)

销毁套接字不一定会阻止客户端使用新套接字重试请求。

您可以尝试仅使用非OK状态代码进行最低限度的响应:

if (requests[path] >= 500) {
    res.statusCode = 503;
    res.end();
}

并且,503 status code

  

由于服务器临时过载或维护,服务器当前无法处理请求。