今天做android的一個下載下傳功能,用自己機子上的tomcat做,在tomcat上下載下傳東西,可是android系統老是提示錯誤說不能連接配接到我的tomcat,可是我明明啟動了tomcat服務啊,而且代碼我也檢查了好就變了,沒有錯啊,這可是把我給郁悶壞了,相信很多初學者都會有這樣的經曆,呵呵...真是不知所措,挺讓人郁悶的,我在這裡和大家分享一下解決方法,呵呵...找到我這篇文章你就算是找到解決辦法了。
原因其實很簡單,
開始我的連結寫的是:http://127.0.0.1:8090/項目的名字/檔案的名字,坐過開發的人都會想到是這樣寫的,因為是本機啊,127.0.0.1就是本機,或者是用localhost,這是一樣的,如果你是有區域網路的,那用區域網路的本地ip就不會有這個問題了,關鍵就是我們就是用家裡的自己,區域網路,就會出現這個錯誤。
02-18
14:47:47.957: warn/system.err(406): .net.connectexception:
/127.0.0.1:8090 - connection refused
02-18 14:47:47.976:
warn/system.err(406): at org..harmony.luni.net.plainsocketimpl.connect(plainsocketimpl.java:237)
14:47:47.976: warn/system.err(406): at org..harmony.luni.net.plainsocketimpl.connect(plainsocketimpl.java:521)
14:47:47.976: warn/system.err(406): at
java.net.socket.connect(socket.java:1019)
warn/system.err(406): at
org.apache.harmony.luni.internal.net.www.protocol.http.httpconnection.<init>(httpconnection.java:67)
14:47:47.989: warn/system.err(406): at
org.apache.harmony.luni.internal.net.www.protocol.http.httpconnectionmanager$connectionpool.gethttpconnection(httpconnectionmanager.java:151)
org.apache.harmony.luni.internal.net.www.protocol.http.httpconnectionmanager.getconnection(httpconnectionmanager.java:73)
14:47:47.997: warn/system.err(406): at
org.apache.harmony.luni.internal.net.www.protocol.http.httpurlconnection.gethttpconnection(httpurlconnection.java:826)
org.apache.harmony.luni.internal.net.www.protocol.http.httpurlconnection.connect(httpurlconnection.java:812)
org.apache.harmony.luni.internal.net.www.protocol.http.httpurlconnection.getinputstream(httpurlconnection.java:1054)
com.down.httpdownloader.download(httpdownloader.java:38)
02-18 14:47:47.997:
com.mp3.mp3listactivity.downloadxml(mp3listactivity.java:50)
com.mp3.mp3listactivity.onoptionsitemselected(mp3listactivity.java:38)
這是我錯誤資訊的一部分,紅色部分說的很明顯了,連不上這個位址,後來查了一下,原來在android中10.0.2.2位址就是對本機的映射。
這是關鍵,是以我們隻需要把ip改成這個位址,沒問題了。呵呵...