gpt4 book ai didi

android - 在本地托管服务器供 Android 应用程序使用时,我需要做任何端口转发吗?

转载 作者:行者123 更新时间:2023-11-30 04:45:43 25 4
gpt4 key购买 nike

所以我想在实际的 Android 设备上测试我的应用程序。我已经在虚拟设备上对其进行了调试并且运行顺利,但我希望它现在能够在实际手机上运行以进行调试等等。我将用于访问本地托管服务器的 IP 从 10.0.2.2 更改为我自己的 IP。所以每次我调用我的应用程序查询的服务器时,它来自:

HttpPost httpPost = new HttpPost("http://10.0.2.2/pagemyappwants.php");

HttpPost httpPost = new HttpPost("http://76.blahblah.etc/pagemyappwants.php");

后者是我自己电脑的 IP,过去我用它来运行远程访问的服务器。我已经为我正在运行的 wamp/apache 服务器测试了这个,使用这个 IP 你可以从其他计算机访问 php 页面。但是,当我尝试使用我的应用程序时,该应用程序卡住了几分钟,然后就好像任务已完成一样继续前进,但是当检查将记录通过该应用程序进行的更改/添加的 mysql 数据库时,没有任何反应.

所以总而言之,为了让供 Android 使用的本地托管服务器正常工作,我需要做任何端口转发吗?或者其他什么,就此而言,哪个可以解决这个问题?谢谢。

最佳答案

您的描述似乎不是很清楚,但如果我正确理解您的应用程序正在通过您的公共(public) IP 地址通过公共(public)网络向您自己的 PC 发出 HTTP 调用,那么唯一需要打开的端口是端口 80 (假设是非安全 HTTP)。

您说“应用会卡住几分钟,然后继续前进,就好像任务已完成”。您实际上是指分钟,还是很多秒?如果是分钟,这听起来不太对,因为 HTTP 超时时间不长。

如果是我,我会:

  • 对 HTTP 调用进行一些跟踪/调试,以查看到底发生了什么,尤其是抛出了什么异常,或者返回了什么结果。听起来好像超时了,但您没有提到异常,这让我认为您的应用现在正在正确处理异常。

  • 我会尝试使用设备上的浏览器访问 HTTP URL,看看它是否真的可以访问它。

  • 检查端口转发。默认情况下,通常不会将路由器配置为处理传入的 HTTP 请求,因为这会带来安全风险。如果您之前设置过它,但它现在不起作用,是否可能是因为您的 PC 具有不同的 IP 地址,从路由器到您 PC 的端口转发失败?

关于android - 在本地托管服务器供 Android 应用程序使用时,我需要做任何端口转发吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5021385/

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