Android Can';t从设备访问服务器,在emulator中工作

Android Can';t从设备访问服务器,在emulator中工作,android,Android,似乎每个人都无法从emulator访问本地计算机或internet等。这一切对我都有用。现在我在我的家庭服务器上安装了WCF服务,端口打开了,我可以用浏览器浏览 我在emulator中更改了URL,指向“真正的”服务器,它可以正常工作。现在,我在设备上安装了应用程序,它连接到服务器超时(10秒)。我错过了什么 服务器是IIS7.5,带有.NET WCF REST服务。设备连接到3G,我可以通过设备上的web浏览器浏览自己的网站,但在代码中它失败了。代码看起来是这样,我的url看起来像“http:

似乎每个人都无法从emulator访问本地计算机或internet等。这一切对我都有用。现在我在我的家庭服务器上安装了WCF服务,端口打开了,我可以用浏览器浏览

我在emulator中更改了URL,指向“真正的”服务器,它可以正常工作。现在,我在设备上安装了应用程序,它连接到服务器超时(10秒)。我错过了什么

服务器是IIS7.5,带有.NET WCF REST服务。设备连接到3G,我可以通过设备上的web浏览器浏览自己的网站,但在代码中它失败了。代码看起来是这样,我的url看起来像“http://domain:8080/mobile/auth"

编辑:在另一部手机上试用,效果很好!什么是问题?我的手机是NexusS和2.3,我的目标是2.2和emulator 2.2,而我的另一部手机(也可以用)也是2.2

另外,一部手机在TMobile上,另一部在Sprint上。这是个奇怪的问题吗

编辑2: 一些谷歌搜索。。这可能与T-Mobile阻塞端口8080有关。我确实会专门发帖,当我通过浏览器浏览时,它确实会收到,所以可能是我的问题。明天我要再试试一部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
        }
HttpParams HttpParams=new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams,超时);
HttpConnectionParams.setSoTimeout(httpParams,超时);
HttpClient=新的默认HttpClient(httpParams);
HttpPost请求=新的HttpPost(url);
尝试
{
StringEntity实体=新的StringEntity(requestData);
setContentType(新的BasicHeader(HTTP.CONTENT_TYPE,“application/json”);
请求。设置实体(实体);
ResponseHandler=new BasicResponseHandler();
returnData=client.execute(请求,处理程序);
}
捕获(可丢弃的e)
{
字符串s=e.getMessage();
//TODO:设备上的日志异常
}

当然,看起来你回答了自己的问题:

//TODO: Log exception on device

如果你没有得到一个异常,那么它听起来很像一个DNS问题。尝试通过wifi连接到您的本地网络,看看这是否能解决问题。

您是否已验证您的设备是否具有internet连接?我知道这听起来很傻,但我今天的Nexus S运行2.3.3时遇到了一些真正的问题


尝试打开浏览器并导航到非缓存页面。

可能我不清楚。我确实得到了异常,我通过调试器运行它。例外情况是:java.net.SocketTimeoutExceptionHm。我现在怎么做才能修好它?我连接到了WiFi,它工作正常。就像我在主要问题上发布的一样——其他电话按原样工作。那是T-Mobile吗?或者我的设备?我有同一部手机:)我检查的第一件事是打开手机上的浏览器并导航到网站。成功了。事实上我有另一部手机可以试试。我看到你在下面的帖子-今天tmobile对我来说太糟糕了…我一直在尝试测试我的admob集成,我的网络问题令人痛苦。它仍然没有意义。在同一部手机上,我进入浏览器并访问相同的url,一切正常。我妻子的G2工作正常。只有我的Nexus S在3G上才起作用。真奇怪。。