2012-12-16 123 views
1

我有一项家庭作业,只使用节点本机模块来构建http服务器。 我试图保护服务器免于重载,因此每个请求都被散列并存储。 如果某个请求达到一个很高的数字,比如说500,我就打电话给socket.destroy()如何杀死nodejs中的连接

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

任何想法,为什么连接再次生活?比destroy()有更好的功能吗?

感谢

+0

你是什么意思“某个请求达到一个很高的数字,比如500”?每秒500个请求?网址太长了? –

回答

1

销毁插座不一定会从重试停止客户端与一个新的套接字请求。

你可以尝试,而不是只是一个非OK状态码最小响应:

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

而且,503 status code上:

服务器目前无法处理请求由于暂时超载或维护服务器。