2012-10-04 200 views
-2

我正在爲我的大學課程之一構建Android應用程序。我有一臺使用xampp在我的筆記本電腦上運行的本地主機服務器。我的手機上運行的android應用程序必須連接到本地主機才能從MySQL數據庫獲取數據(通過php腳本)。我在我的代碼中使用HTTPClient連接到服務器。代碼工作正常,但因爲我的IP地址更改,我需要不斷更改HTTPpost中的URL。我的問題是如何獲得靜態IP地址?我需要在任何地方工作,例如我將在家進行編碼和測試,但最終我必須在大學裏展示一個可用的應用程序。 這裏是我的HTTP代碼:如何獲取靜態IP地址?

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()); 
     } 

回答

2

你的問題是不相關的機器人,它更關係到如何獲得靜態IP地址,以便在本地PC可以作爲服務器,你可以隨時隨地連接。

早在我在我的PC上託管幾個測試網站的日子裏,我也遇到了同樣的問題。我正在使用no-ip.com服務來建立所有連接。還有dyn.com和opendns.com

基本上你所做的就是安裝他們的軟件,並保持它在你的系統中的活動嘗試,而不是連接到他們的服務器,他們會給你你使用的ip或子域名連接而不是你的動態IP。他們的軟件始終與您的IP進行通信,並且即使在IP更改時也能讓您的服務器保持在線狀態。

+0

我確實如你所說,並從沒有ip.com..but得到一個IP我該怎麼辦現在連接到本地主機?當我使用分配的IP地址時,它不起作用。 – pixie

+0

你需要下載並安裝他們的軟件並保持活動狀態。軟件會將你的動態IP與他們給你的靜態IP連接起來。 –

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 
0

使用動態DNS - 看到一個免費的視頻演示here