XNA Meeting Point
  • Home
  • English
    • FAQ
    • Site Architecture
    • Who we are
    • Contact Us
    • XNA Tutorials
    • XNA-inspired technology>
      • MonoGame Tutorials
    • Game Development
    • Math
    • Physics
    • Computer Science>
      • Programming
      • Data Transmission
      • Hardware
    • Useful Links
    • Ressources
    • Community Spotlight
    • Game Renders
    • News Blog
  • Français
    • FAQ
    • Plan du site
    • Qui sommes-nous ?
    • Contactez-nous
    • Tutoriaux XNA
    • Technos inspirées de XNA>
      • Tutoriaux MonoGame
    • Développement de jeux
    • Maths
    • Physique
    • Informatique générale>
      • Programmation
      • Transmission de données
      • Hardware (machine)
    • Liens utiles
    • Ressources
    • Community Spotlight
    • Captures d'écran
    • Nouveautés / Blog
  • Español
    • FAQ
    • Estructura del sitio
    • ¿Quiénes somos?
    • Contactarnos
    • Tutoriales XNA
    • Desarrollo de videojuegos
    • "Links" utiles
    • Recursos
    • Community Spotlight
    • Capturas de pantalla
    • Actualidad / Blog
  • Search
  • Tutorial Contests
    • XTC 2010
  • XN'net
    • English
    • Français
    • Español
  • YouTube
  • About me
    • School Projects>
      • Numerical Analysis (Python)
      • C Programming
      • Lisp Programming
      • Presentations
    • GCC Projects>
      • GCC Presentations
    • Pollen Hunt
  • RSS
    • XNA News!
    • Other Projects

Windows Phone: Comprobar la
conectividad del teléfono

de Jesús Bosch
_Tu aplicación o juego para Phone 7 (esto vale para Silverlight y XNA) usa webservices u otros tipos de comunicación con el mundo... en un entorno tan variante como es el de un móvil, es lógico comprobar que hay conectividad antes de llamar a un webservice no os parece? Para ello el espacio de nombres Microsoft.Phone.Net.NetworkInformation tiene cosas interesantes!

Tenemos a NetworkInterfaceType, que nos devolverá la interfaz de red a la que estamos conectados -es un enumerado con muchísimos valores, que nos dirá si tenemos Wifi, ADSL, etc-, o bien que no hay conexión disponible (NetworkInterfaceType.None). El uso es muy sencillo, aunque la ejecución algo lenta, por lo que hay que tener eso en cuenta cuando lo usemos: 

var red = NetworkInterface.NetworkInterfaceType;

if (red == NetworkInterfaceType.Wireless80211)
    System.Diagnostics.Debug.WriteLine("estamos con wifi");
else if (red == NetworkInterfaceType.None)
    System.Diagnostics.Debug.WriteLine("sin conexión"); 

En este caso he comrobado si la conexión es wifi, pero si queremos saber si hay conexión valdría con red != NetworkInterfaceType.None

Para ello también existe el método GetIsNetworkAvailable(), más rápido, pero que no funciona con el emulador (siempre devuelve true):

bool hayRed = Microsoft.Phone.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();

Así pues si necesitamos acceder a esta información, yo recomendaría crear un método que wrapee esta funcionalidad, y ejecute un método u otro del framework dependiendo de si estamos en modo depuración o no.
Powered by Create your own unique website with customizable templates.