gpt4 book ai didi

java - 网络中断后http会恢复吗?

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

我正在测试 Http 连接,我发现行为很奇怪。 我想测试在启用/禁用网络后 http 连接是否会继续。我测试这个的唯一方法是禁用网络适配器。

例如,在我按下按钮启动http连接之前,我先禁用网络适配器,在代码执行http.connect()之后,我重新启用网络适配器(在允许的超时内),但最后还是超时了,我以为连接在超时前仍然有效?

大家是怎么处理这个问题的,因为现在的移动应用程序(android,IOS)在短时间内无法使用 3G 时需要克服大量网络中断。

最佳答案

是也不是。

实际上这取决于很多不同的组件,所以很难找到答案。

一个工作示例:考虑建立网络连接,然后断开连接并重新启动。仍然有数据包在途中并在重启后到达目标。现在 TCP 中的纠错系统有可能简单地 catch 并继续连接。从计算机上拔下以太网电缆并在几秒钟后重新连接,您将看到它起作用了。但是:通常移动设备会获得一个新的 IP 以重新连接,这使得这不可能。

在您的设备和网络之间有许多组件,包括路由器、透明代理、防火墙等。所有这些都有不同的超时,一些发送的消息可以停止或断开连接,有些则不会。有些甚至会屏蔽此类消息。因此,尽管有可能,但它并不可靠。

您的示例:当您在网络中断时执行 connect() 时,我通常会立即拒绝。但也许 DNS 会在这里造成延迟,所以你会得到一个超时。我怀疑在停机期间 connect() 会在线路再次在线时自行继续的情况。

关于java - 网络中断后http会恢复吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12926857/

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