连接Android应用程序到jboss服务器时拒绝连接

时间:2015-07-03 11:44:07

标签: java android web-services sockets jboss

我正在尝试通过jboss测试连接到Web Service服务器的 Android应用。 当我使用127.0.0.1或我的内部IP(具有互联网访问)时,该程序工作正常。但每当我切换到没有互联网接入的网络(如adhoc)时,它就会抛出一个  java.net.ConnectException: Connection refused: connect error.

但我可以通过在浏览器中输入 IP地址:port 来访问服务器。

如果我正在ping服务器IP地址,则ping将成功。

我关掉了冷壁,但结果总是一样。

有关如何处理的任何想法?感谢

2 个答案:

答案 0 :(得分:0)

它似乎不是ipaddresses的JBoss参数(默认情况下已关闭)。

但是如果您想使用Android设备来调用它,那么您需要使用互联网来使用该服务。或者需要确保Android设备获得本地IP ...然后通过192.xxx而不是127.0.0.1 ...

进行呼叫

最好检查路由器/防火墙,以便将外部ip:端口移植到您的开发计算机......然后让Android(使用互联网)调用外部ipaddress ...

答案 1 :(得分:0)

这是将登录名和密码发送到服务器的提交代码

try {
    json.put("utCode", ((EditText) findViewById(R.id.et_login)).getText());
    json.put("utPassword", ((EditText) findViewById(R.id.et_pass)).getText());
    new PostLogin().execute(Settings.getServerAddress(getBaseContext()) + "/auth/login", json);

} catch (JSONException e) {
    Log.e("log_tag", "Error parsing data " + e.toString());
}


private class PostLogin extends AsyncTask<Object, Integer, String> {
    private ProgressDialog Dialog = new ProgressDialog(MainActivity.this);

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        Dialog.setMessage("Please wait..");
        Dialog.show();
    }

    @Override
    protected String doInBackground(Object... params) {
        String url = (String) params[0];
        JSONObject json = (JSONObject) params[1];

        // Dummy code
        InputStream is = null;
        HttpResponse response = null;  
        try {
            response = RestEasy.doPost(url, json);
            if (response.getStatusLine().getStatusCode() == 500) {
                return "500";
            } else if (response.getStatusLine().getStatusCode() == 404) {
                return "404";
            }

            HttpEntity entity = response.getEntity();
            if (entity != null) {

                is = entity.getContent();

                String result = "";
                result = RestEasy.convertStreamToString(is);
                return result;
            } else {
                return "null";
            }
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }
}

当我使用具有互联网访问权限的网络时,代码运行没有问题,但如果我使用没有互联网访问权限的网络,它会抛出一个

java.net.ConnectException: Connection refused: connect error.