>  기사  >  Java  >  Android Java 애플리케이션에서 외부 IP를 Ping하는 방법은 무엇입니까?

Android Java 애플리케이션에서 외부 IP를 Ping하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-13 13:59:02937검색

How to Ping External IPs from Android Java Applications?

Android Java 애플리케이션에서 외부 IP를 핑

네트워크 연결을 확인하기 위해 Android용 Ping 애플리케이션을 개발할 때 로컬 IP만 핑하는 제한을 해결하는 것이 중요합니다. 이 기사에서는 근본적인 문제를 조사하고 핑 기능을 외부 서버로 확장하는 솔루션을 제공할 것입니다.

원래 질문에 공유된 코드는 Android에서 핑의 기본 구현을 보여줍니다. 그러나 외부 서버에 ping을 시도할 때는 부족합니다. 이는 Android가 기본적으로 기기의 로컬 네트워크 외부 호스트에 대한 직접 네트워크 액세스를 제한하기 때문입니다.

이 제한을 극복하기 위해 기본 시스템 명령과 관련된 해결 방법이 사용됩니다. 제공된 솔루션은 Runtime.exec()를 활용하여 원하는 IP 주소(예: Google DNS의 경우 8.8.8.8)로 /system/bin/ping 명령을 실행합니다.

다음은 솔루션을 통합하는 업데이트된 코드입니다.

private boolean executeCommand(){
    System.out.println("executeCommand");
    Runtime runtime = Runtime.getRuntime();
    try {
        Process  mIpAddrProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8");
        int mExitValue = mIpAddrProcess.waitFor();
        System.out.println(" mExitValue "+mExitValue);
        return mExitValue == 0;
    } catch (Exception e) {
        e.printStackTrace();
        System.out.println(" Exception:"+e);
    }
    return false;
}

이 접근 방식을 활용하여 ExecuteCommand() 메서드는 기본 ping 명령을 시작하고 해당 명령을 기다립니다. 완료하고 핑 결과를 나타내는 부울을 반환합니다. 이를 통해 외부 서버에 ping을 보내 Android 애플리케이션 내에서 보다 포괄적인 네트워크 연결 평가를 제공할 수 있습니다.

위 내용은 Android Java 애플리케이션에서 외부 IP를 Ping하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.