Inicio- Presentaciones- Artículos- Utilidades- Links- Contacto- Acerca de...

Ping para Compact Framework

Este tipo de utilidades son las que siempre echo de menos en mi Pocket PC (iPaq 5450) y en mi SmartPhone (Motorola MPX 200). Después de probar varias, me decidí a desarrollarme yo las utilidades a mi gusto. Esta es la primera que publico.

La idea era disponer de un componente .NET que pudiese usar desde distintas aplicaciones cliente. El resultado es un componente hecho en C# con Visual Studio 2003 que puede ser utilizado desde cualquier otra aplicación .NET y que permite realizar pings tanto a una dirección IP como a un nombre de host.

Por supuesto, después de llevar más de la mitad del código hecho, me encontré en los foros de OpenNetCF.org que alguien ya lo había programado antes que yo, pero eso no me detuvo, no lo había programado como un componente, que era lo que yo quería ;-)

El resultado lo podéis ver en esta captura de la iPaq. Estas capturas son del dispositivo real, no del emulador, conectado a mi red local mediante WLAN. Están hechas a través de la utilidad 'Activesync Remote Display' que permite disponer de la pantalla del dispositivo en el PC de manera remota a través de una conexión de ActiveSync.

Ping a una dirección IP local.
Figura 1: Ping a una dirección IP local.

Ping a un nombre de host remoto.
Figura 2: Ping a un nombre de host remoto, el componente resuelve el nombre a la IP.

Ping a un nombre de host remoto con round robin.
Figura 3: Ping a un nombre de host remoto con round robin. Los servidores de microsoft.com no responden al ping (timeout), pero se ve que el mismo nombre resuelve a varias IPs. Por cada Ping, el componente resuelve el nombre a la IP.

Requisitos:

  • .NET Compact Framework (probado con .NET Compact Framework SP3) en el dispositivo.
  • Para el componente: dispositivo Windows Mobile 2003 (Windows CE .NET). Hace uso de las librerías IPHelper sólo disponibles a partir de esa versión.
  • Para el UI: Pocket PC 2003
  • Para el código: Visual Studio 2003 con el SDK de Windows Mobile 2003.

Si sólo queréis el ejecutable para vuestro dispositivo, descargadlo aquí. Sólo lo tenéis que copiar a vuestro Pocket PC en algún directorio que tengáis controlado y ejecutarlo desde ahí (de momento no tengo instalador).

Si queréis el código, descargadlo aquí. Encontraréis una solución de Visual Studio llamada "ICMP.sln" que contiene dos proyectos, uno con el componente y otro con la aplicación cliente para Pocket PC. El componente es muy fácil de utilizar y se ve de manera clara en la aplicación de ejemplo. Para recibir las respuestas, el componente expone eventos que son lanzados dependiendo de la situación. Lanza un evento por respuesta recibida, un evento en caso de timeout y otro evento en caso de error.

Si tuvieses cualquier problema al instalarlo o quieres contarme cualquier otra cosa sobre la utilidad, por favor dímelo.