安卓http连接-多台设备无法连接同一台服务器



我真的需要帮助。。。

我有一个简单的Android应用程序,它连接到我的服务器,通过HTTPS获取数据。

一切都很好,直到我从另一台设备(iOS或Android)连接到同一台服务器。我开始出现超时或连接被拒绝或其他错误,这取决于我使用的库(有时是SSL握手)

  1. 我在同一路由器上尝试了2个android应用程序-失败

  2. 我尝试了Volley,改装,纯http库-失败的

  3. 如果一个设备通过蜂窝网络连接,另一个通过wifi连接,它就可以正常工作。然而,我看到过这样的情况,即使使用2个连接到蜂窝网络的设备,而不是wifi,它也会失败。

  4. 它很容易复制。一个应用程序运行良好。只要我在另一台设备上做了手术。第一个应用程序将无法连接。

  5. 使用相同api/服务器的iOS应用程序运行良好。无故障

  6. 我在失败期间在安卓应用程序上运行wireshark,并收到以下消息:

70 47.073286 10.0.0.1 10.0.0.138 ICMP 120目标不可达(端口不可达)

似乎是端口问题。我不再确定这是服务器问题还是客户端问题。。iOS应用程序运行良好。没有问题。只有安卓系统。

我试过了:

System.setProperty("http.keepAlive", "false");

我尝试设置一个http头"connection :close",但没有任何作用。。。

任何想法都将不胜感激。。。

这里也有同样的问题。当我的ios设备连接到allstar英雄或趣味运行应用程序时,android设备无法再连接。我找不到解决办法。我的路由器是tp链接目录615。也许问题出在frpm路由器上。

归根结底,这是服务器端的问题。IT人员给了我以下信息:"tcp内核设置上的错误标志"重用连接",这就是我给你的全部信息。希望它能帮助其他人

我也遇到了同样的问题。问题似乎是当应用程序试图访问TIME_CLOSE中的端口时。这里有一个很好的解释,将tcp内核更改为重用连接,可能会解决问题,因为服务器将再次尝试重用TIME_CLOSE中的这些连接。但它必须是客户端的解决方案,以避免连接被卡住。在我的案例中,我试图从多个活动创建连接,我想他们不知何故竞争打开和关闭连接,我用一个活动来连接服务器,解决了这个问题。

希望这对某人有用。

遇到了完全相同的问题,并花费了大量时间进行调查,但没有任何帮助,包括"重用连接"标志,还尝试禁用tcp_timestamp、tcp_tw_Reuse、tcp_th_recycle,并为应用程序启用vm安全模式,如下所示:

  • https://github.com/square/okhttp/issues/903
  • https://github.com/square/okhttp/issues/1037
  • https://github.com/square/okhttp/issues/1518

但都是一脉相承的。

此外,非常奇怪的是,我有两个不同的实例/服务器,为了跟踪问题,我制作了完全相同的实例/服务,而其中一个服务器没有任何问题。

所以最终:

实例重新启动解决了连接问题。(或者只需要重新启动网络服务)

(c) 我的服务器/实例管理员

相关内容

  • 没有找到相关文章

最新更新