【问题标题】:Access wamp server files via PC name insted of local IP address -Android application通过PC名称而不是本地IP地址访问wamp服务器文件-Android应用程序
【发布时间】:2014-03-11 23:23:17
【问题描述】:

在我的 Android 应用程序中,我希望能够通过 PC 名称(主机名)而不是 PC 本地 IP 地址访问 wamp 服务器文件,这可能吗?导致用户需要在 Android 应用中更改本地 IP 地址。每次都需要更新或从 MySQL 数据库中获取数据,这很烦人的事情!

// url to get all items list
 private static String url_all_items="http://Local IP Address/android_connect/test.php"; 

但是我需要能够发送 PC 名称而不是本地 IP 地址:

// URL to get all items list
 private static String url_all_items="http://PC Name/android_connect/test.php"; 

实际上,我尝试发送 PC 名称而不是本地 IP 地址,但这不起作用,我尝试了很多解决方案,在 wamp 服务器配置中,在 windows 文件上的主机上等等。但这也不起作用!是否有任何其他配置可以通过 android 应用程序发送 PC 名称而不是 IP 地址?!虽然当我发送本地 IP 地址时效果很好!

总之,有什么方法可以使用PC名称而不是本地IP地址访问WAMP服务器?

任何帮助将不胜感激。

【问题讨论】:

  • 您可以编辑您的虚拟主机为其添加规则,但这意味着对电脑名称进行硬编码。你希望它是动态的吗?
  • 是的,我需要让用户输入PC名称而不是PC本地IP地址?!
  • Android 不支持通过 up 名称访问您的 PC,因为 Android 仅使用 DNS 服务器作为其名称。您可以将路由器配置为提供静态 IP,或使用多播自动发现您的本地 ip

标签: php android wamp wampserver


【解决方案1】:

解决问题的简单方法是无需在 wamp 服务器或 windows 中进行任何配置,但解决方案在于代码本身。如我所见,您不希望 android 应用程序用户放置或使用 IP,您只允许用户放置服务器名称。因此,最好的方法是获取输入的服务器名称的 IP 地址。在获得服务器名称的 IP 地址后,您可以使用返回的 IP 重新构建所需的 URL。以下代码显示了一段代码,可帮助您实现。

private static String url_all_items="http://%s/android_connect/test.php";
private static void ResolveURL() {

     try {
           InetAddress addr = InetAddress.getByName("mahdi-pc");
           String host = addr.getHostAddress();

           url_all_items=String.format(url_all_items, host);
           System.out.println(url_all_items);

     } catch (UnknownHostException ex) {

     }  

}

使用上面的代码,很明显本例中的服务器名称命名为“mahdi-pc”,返回的IP地址将为它。请注意,此代码仅对本地网络地址有效。之后,将返回的 IP 地址替换为 url_all_items 链接中的字符串格式。一旦链接格式正确,您就可以使用 IP 地址建立连接,而无需使用 URL 中的服务器名称。

我希望该解决方案适合您。

【讨论】:

  • 请查看我的回复,在 EDIT(在我的 q 中)因为它太长,我无法在评论中包含它:$ ...
猜你喜欢
  • 2015-09-17
  • 2021-08-15
  • 2015-11-18
  • 1970-01-01
  • 1970-01-01
  • 2019-06-09
  • 1970-01-01
  • 1970-01-01
  • 2015-10-10
相关资源
最近更新 更多