gpt4 book ai didi

Android http keepalive解决方案,但它是永久的吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:39:34 24 4
gpt4 key购买 nike

我有一个搜索按钮,每次按下它都会访问服务器。问题是,如果我连续多次按下它,它会正常工作。但是,如果我等待 5 秒钟,第一次按下将不起作用。它只是没有收到响应。第二次按下将起作用,随后的按钮按下也会起作用,直到我等待一定时间(~5 秒)

所以基本上,除非您在 5 秒内不断搜索新事物,否则您第一次按下按钮不会有任何效果。

这是用

解决的
          System.setProperty("http.keepAlive", "false");

但是,我读到这消除了每次单击该按钮时都必须建立新的 TCP 连接的持久连接。这比较慢,但不是马车。

这是一个糟糕的修复吗?我读过这并不能真正解决任何问题。需要一些帮助,谢谢。

最佳答案

你说:

However, if I wait 5 seconds, the first press won't work. It just doesn't receive a response.

我认为服务器甚至没有收到您的请求。我认为将 http.keepAlive 设置为 false 是一个很好的解决方法。我花了相当多的时间调查这个问题,很明显这是 Android 库中的错误。

原因是服务器不想让所有这些连接保持打开状态,因为它们的数量可能很大,因此它会不时关闭其中一些连接。然而,Android 库中使用的连接池不想接受这个事实,并尝试使用旧的关闭连接。

取消设置 http.keepAlive 是一种变通方法而不是解决方案,但是您确实获得了可靠的 HTTP 处理,尽管有一些性能成本。

关于Android http keepalive解决方案,但它是永久的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8118015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com