Android - 在本地Netwiok上找到WAMP服务器的IP

时间:2016-02-08 03:14:18

标签: android wamp

有人能帮助我吗?我目前正在做一个 Android应用程序项目。

但是我知道 MYSQL Android 不完全兼容为时已晚。

我现在不能回去。正如标题所说,我正在使用 WAMP服务器在计算机的本地网络上托管我的 MYSQL数据库

当我读到(纠正我,如果我错了)时,您需要该计算机的实际 IP WAMP服务器获取数据即可。

如果在任何特定时刻托管计算机 IP 发生更改, Android应用程序将无法连接到 MYSQL数据库

  

您是否有计划地获取托管计算机 IP

     

我尝试使用设备的当前 IP地址来获取网络IP

示例:

设备IP 192.168.1.2 托管计算机IP 192.168.20 ,现在我们知道了网络IP 192.168.1.1 。然后从 192.168.1.2 循环直到 192.168.1.254 ,循环只有在得到您需要的响应时才会中断/停止。然后将 IP 保存到字符串。

public String isConnectedToServer(String url, int index) {
    StrictMode.ThreadPolicy policy = new
            StrictMode.ThreadPolicy.Builder()
            .permitAll().build();
    StrictMode.setThreadPolicy(policy);

    String result = "";
    for(int octet = 2; octet <= 254; octet++) {
        String compare = ""+octet;
        if(!compare.equals(url.substring(index + 1, url.length()))) {
            try {
                HttpURLConnection.setFollowRedirects(false);
                HttpURLConnection con = (HttpURLConnection) new URL("http://" + url.substring(0, index + 1) + "" + octet + "/AVMSSv2").openConnection();
                con.setRequestMethod("HEAD");
                con.setRequestProperty("User-Agent", "Android Application");
                con.setRequestProperty("Connection", "close");

                //Toast.makeText(LogIn.this, "NETWORK CONNECTED", Toast.LENGTH_LONG).show();
                if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
                    result = "http://" + url.substring(0, index + 1) + "" + octet + "/AVMSSv2/pages/android.php";
                    break;
                } else {
                    result = "";
                }
                Log.w("APP", "Network");
            } catch (Exception e) {
                // Handle your exceptions
                //Toast.makeText(LogIn.this, "NETWORK ERROR CONNECTION", Toast.LENGTH_LONG).show();
                Log.e("APP", "Exception", e);
                result = "";
            }
        }
    }
    return result;
}
  

上面的代码只是我的一个例子,但似乎不起作用。我已经使用了 AsyncTask 。随意给我任何建议。

     

P.S。问题是我无法更改为其他数据库。因为目前的项目是多平台。这就是为什么我需要坚持使用MYSQL,因为这是其他平台目前正在使用的。

     

我希望尽可能坚持动态IP主机

1 个答案:

答案 0 :(得分:0)

使用路由器设置数据库服务器的静态IP地址。

然后你解决了两个问题。 1)它不会改变IP地址,2)不需要担心上面的编程,因为你知道IP地址