我正在为我的一所大学课程构建一个Android应用程序。我使用xampp在笔记本电脑上运行了localhost服务器。我手机上运行的android应用程序必须连接到localhost才能从MySQL数据库中获取数据(通过php脚本)。我在代码中使用HTTPClient连接到服务器。代码工作正常,但因为我的IP地址更改我需要不断更改HTTPpost中的URL。我的问题是如何获得静态IP地址?我需要这个在任何地方工作,例如我将在家里进行编码和测试,但最终我必须在大学展示一个有效的应用程序。 这是我的HTTP代码:
private String[] url = new String[] { "http://172.24.25.204:80/comp5615/select.php" };
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url[0]);
ArrayList<NameValuePair> param = new ArrayList<NameValuePair>();
try {
httpPost.setEntity(new UrlEncodedFormEntity(param));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
//read content
is = httpEntity.getContent();
result = convertStreamToString(is);
} catch (Exception e) {
Log.e("log_tag", "Error in http connection "+e.toString());
}
答案 0 :(得分:2)
您的问题与android无关,它与如何获取静态IP地址更相关,因此您的本地PC可以充当服务器,您可以随时随地连接。
早在我在我的电脑上托管几个测试网站时,我遇到了同样的问题。我正在使用no-ip.com服务进行全时连接。还有dyn.com和opendns.com
基本上你所做的就是安装他们的软件并让它在你的系统中保持活跃状态,而不是连接到他们的服务器,他们会给你ip或子域名,你用来连接你的动态ip。并且他们的软件始终与您的IP进行通信,即使在更改IP时也保持服务器在线。
答案 1 :(得分:0)
you can get Static IP Address in browser as well as programmability in application.
this is url return the static IP adress
"http://api.exip.org/?call=ip"
in android normally we request above mention url and getting response of it