Hacer ping a una dirección IP en Kotlin


La mejor forma para para realizar un ping a un servidor externo usando Kotlin es haciendo una llamada al comando ping del sistema Linux, que todo Android lo incluye.

Función isConnectedToThisServer()

La función isConnectedToThisServer llama el comando ping del sistema y comprueba el código de retorno, si se ha podido contectar con el servidor externo y ha respondido con pong, la función devolverá true, en caso de error false

El parametro necesario es el host del servidor externo, puede ser con su IP o su nombre de dominio

fun isConnectedToThisServer(host: String): Boolean {

    val runtime = Runtime.getRuntime()
    try {
        val ipProcess = runtime.exec("/system/bin/ping -c 1 $host")
        val exitValue = ipProcess.waitFor()
        ipProcess.destroy()
        return exitValue == 0
    } catch (e: UnknownHostException) {
        e.printStackTrace()
    } catch (e: IOException) {
        e.printStackTrace()
    } catch (e: InterruptedException) {
        e.printStackTrace()
    }

    return false
}

Su uso

Solo es necesario pasar como parametro la dirección IP o nombre de dominio y devuelve un boleano

val host: String = "178.33.5.208"

if (isConnectedToThisServer(host)) {
    println("PING SUSCEFUUUULL")
} else {
    println("PING FAILED")
}

Publicado por Codelaby

Mobile DevDesigner

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: