【问题标题】:How to close connection for Node.js http.createClient?如何关闭 Node.js http.createClient 的连接?
【发布时间】:2011-05-27 17:39:50
【问题描述】:

有没有类似的东西

remote_client.close()

request.close()

用于关闭 http.createClient 连接?

似乎在某些情况下,在发出并正确处理“响应”事件后,套接字连接仍然挂在那里。

【问题讨论】:

    标签: node.js http connection


    【解决方案1】:

    升级到最新版本的 node.js (0.4.8)。

    创建客户端的语法已更改。你现在有

    http.request

    它返回一个ClientRequest,你可以使用.end,它在回调中给你一个ClientResponse

    ClientReponse 只是一个Readable Stream,你可以.destroy 一个流

    【讨论】:

    • 我应该使用 http.createClient 还是只使用 http.request?
    • @murvinlai 我认为 createclient 已被弃用。使用请求
    • 谢谢。我在负载测试中遇到了 createClient 的问题。让我现在更改要请求的代码。谢谢x100
    【解决方案2】:

    除了某些罕见和特殊的情况外,您的连接运行正常并且会自行关闭,(或者更准确地说,将由您的计算机操作系统的 TCP 堆栈自动关闭。)

    您看到的问题是,连接底层的套接字只有在其所有数据都已交付并确认后,并且在 TIME_WAIT 期限到期后才会关闭。这是定义明确且完全正常的行为。

    有关为什么需要这样做的解释,请参阅

    但底线是:不要担心套接字;它们是您的操作系统的责任。

    【讨论】:

      猜你喜欢
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 2016-02-04
      • 1970-01-01
      • 2014-04-18
      • 2018-11-22
      相关资源
      最近更新 更多