Android ping到服务器并不起作用

时间:2015-12-16 21:28:47

标签: android networking network-programming ping

我创建了一个应用程序,当应用程序开始检查它是​​否在线时(这发生在新线程中),它会ping我的服务器,但它总是说我的服务器处于脱机状态。 google.com和8.8.8.8也是如此,我不知道自己做错了什么。

这是我的代码:

System.out.println(executeCmd("ping -c 10 -w 1 vanlooverenkoen.be", false));

public static String executeCmd(String cmd, boolean sudo) {
    try {

        Process p;
        if (!sudo)
            p = Runtime.getRuntime().exec(cmd);
        else {
            p = Runtime.getRuntime().exec(new String[]{"su", "-c", cmd});
        }
        BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));

        String s;
        String res = "";
        while ((s = stdInput.readLine()) != null) {
            res += s + "\n";
        }
        p.destroy();
        return res;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return "";
}

这是另一次尝试:没有成功:

            Process mIpAddrProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8");
            int mExitValue = mIpAddrProcess.waitFor();
            System.out.println(" mExitValue " + mExitValue);
            if (mExitValue == 0) {
                System.out.println("0");
                Snackbar.make(mLoginFormView, "Er kan verbonden worden met de server", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            } else {
                System.out.println("else");
                Snackbar.make(mLoginFormView, "Er kan geen verbinding gemaakt worden tussen uw appraat en de server", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
          }

0 个答案:

没有答案