【问题标题】:ruby HttpClient library closing socket after response with persistent connection?ruby HttpClient库在响应持久连接后关闭套接字?
【发布时间】:2011-04-08 22:11:15
【问题描述】:

我将 HTTPClient gem (http://github.com/nahi/httpclient) 用于 ruby​​,将数据发布到 IIS 6.1。尽管两者都支持 HTTP 1.1,但它似乎在每次请求后关闭套接字,而不是使用持久连接。我没有添加任何标志来启用持久连接(主要是因为戳了一下源代码,似乎它们应该默认启用)。

我认为套接字正在关闭的原因是,如果我在 Wireshark 中观察每个请求后的请求,我会看到从客户端发送到服务器的 FIN/ACK TCP 数据包,然后以另一种方式发回相同的数据包。

我是误读了还是这意味着套接字正在关闭?

【问题讨论】:

    标签: ruby http tcp


    【解决方案1】:

    Wikipedia's article on TCP 表明 FIN/ACK 数据包是终止连接的信号。检查哪个客户端或服务器发起了 FIN 数据包的发送 - 即请求关闭连接的一方。

    正如您在源代码中看到的,HTTP 1.1 implementation should assume that connections are persistent by default

    客户端是否在其请求中指定了 HTTP 1.1,服务器是否做出相应响应?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      相关资源
      最近更新 更多