2011-04-13 66 views
1

似乎每個人都有問題從仿真器訪問本地機器或互聯網等。所有這些對我都有效。現在我的家庭服務器上安裝了我的WCF服務,端口打開,我可以用瀏覽器輕鬆瀏覽。無法從設備訪問服務器,在模擬器中工作

我在模擬器中更改了URL,指向「真實」服務器並且它正常工作。現在,我在設備上安裝了應用程序,並且超時連接到服務器(10秒)。我錯過了什麼?

服務器是使用.NET WCF REST服務的IIS7.5。設備連接到3G,我可以從設備上的網頁瀏覽器瀏覽我自己的網站,但在代碼中失敗。代碼看起來像這樣,我的網址像「http:// domain:8080/mobile/auth」

編輯:嘗試在另一個電話,它工作!什麼可能是一個問題?我的手機是2.3的Nexus S,我的目標是2.2和我的模擬器2.2和我的其他手機(它的工作)也是2.2

此外,一個手機在TMobile和另一個在Sprint。這是不是奇怪的問題?

編輯2: 一些谷歌搜索..它可能與T-Mobile攔截端口8080有關。我確實發佈了帖子,當我通過瀏覽器瀏覽時它確實是GET,所以也許我的問題在那裏。我明天會嘗試另一款T-Mobile手機。

HttpParams httpParams = new BasicHttpParams(); 
     HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT); 
     HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT); 

     HttpClient client = new DefaultHttpClient(httpParams); 

     HttpPost request = new HttpPost(url); 

     try 
     { 
      StringEntity entity = new StringEntity(requestData); 
      entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); 
      request.setEntity(entity); 
      ResponseHandler<String> handler = new BasicResponseHandler(); 
      returnData = client.execute(request, handler); 
     } 
     catch (Throwable e) 
     { 
      String s = e.getMessage(); 
      //TODO: Log exception on device 
     } 

回答

1

當然看起來你回答了你自己的問題有:

//TODO: Log exception on device 

如果你沒有得到一個異常,那麼它聽起來很像一個DNS問題。嘗試通過WiFi連接到本地網絡,看看是否能消除這個問題。

+0

也許我不清楚。我確實得到異常,我通過調試器運行它。異常是:java.net.SocketTimeoutException – katit 2011-04-13 04:38:20

+0

嗯。我現在要做什麼來修復它?我連接到WiFi,它的工作原理。就像我在主要問題上發佈的那樣 - 其他電話按原樣工作。那是T-Mobile嗎?或我的設備? – katit 2011-04-13 04:45:49

1

您是否驗證過您的設備具有互聯網連接?我知道這聽起來很愚蠢,但今天我的Nexus S運行2.3.3時遇到了一些實際問題。

嘗試打開瀏覽器並導航到非緩存頁面。

+0

我有同樣的電話:)我檢查的第一件事 - 我打開瀏覽器在我的手機上,並導航到網站。有效。其實..我有另一個手機,我可以嘗試.. – katit 2011-04-13 04:39:14

+0

我看到你的帖子下面 - tmobile今天已經很糟糕了...我一直在試圖測試我的admob集成和我的網絡問題是一個痛苦。 – AndrewPK 2011-04-13 04:49:25

+0

它仍然沒有任何意義。在同一個電話上,我去瀏覽器,並訪問相同的網址就好了。 – katit 2011-04-13 04:56:13

相關問題