【问题标题】:Can't access server from device, works in emulator无法从设备访问服务器,在模拟器中工作
【发布时间】:2011-08-04 09:42:25
【问题描述】:

似乎每个人都无法从模拟器访问本地机器或互联网等。所有这些都对我有用。现在我在我的家庭服务器上安装了我的 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
        }

【问题讨论】:

    标签: android


    【解决方案1】:

    看来您在那里回答了自己的问题:

    //TODO: Log exception on device
    

    如果您没有遇到异常,那么这听起来很像 DNS 问题。尝试通过 wifi 连接到本地网络,看看是否可以解决问题。

    【讨论】:

    • 也许我不清楚。我确实得到了异常,我通过调试器运行它。例外是:java.net.SocketTimeoutException
    • 嗯。我现在做什么来修复它?我连接到 WiFi 并且它工作正常。就像我在主要问题上发布的那样 - 其他手机按原样工作。是T-Mobile吗?还是我的设备?
    【解决方案2】:

    您是否已验证您的设备有互联网连接?我知道这听起来很傻,但是我今天运行 2.3.3 的 Nexus S 遇到了一些实际问题。

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

    【讨论】:

    • 我有相同的手机 :) 我检查的第一件事 - 我在手机上打开浏览器并导航到网站。有效。其实..我还有另一部手机可以试试..
    • 我在下面看到你的帖子 - 今天 tmobile 对我来说太糟糕了...我一直在尝试测试我的 admob 集成,但我的网络问题很痛苦。
    • 这仍然没有意义。在同一部手机上,我转到浏览器并访问相同的网址就好了。
    • 我妻子的 G2 工作正常。只有我的 Nexus S 才起作用,而且只有在 3G 时才起作用。这很奇怪..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 2021-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    相关资源
    最近更新 更多