【问题标题】:How to kill a connection in nodejs如何在nodejs中终止连接
【发布时间】:2012-12-16 20:48:32
【问题描述】:

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

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

任何想法为什么连接再次生效?有没有比destroy()更好的函数?

谢谢

【问题讨论】:

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

标签: node.js sockets connection


【解决方案1】:

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

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

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

还有,在503 status code

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 2015-01-05
    • 2016-08-07
    相关资源
    最近更新 更多