Aplicaciones de Windows
Contraer la tabla de contenido
Expandir la tabla de contenido

Solucionar problemas y depurar las conexiones de red (aplicaciones de la Tienda Windows)

Los problemas de red pueden provocar que las aplicaciones no respondan, se bloqueen o muestren cuadros de diálogo que no se pueden accionar y mensajes de error confusos a los usuarios. Solucionar y depurar estos errores puede resultar difícil, ya que estos pueden ocurrir en cualquier parte de la pila de red.

Quiénes se ven afectados

Todas las aplicaciones de la Tienda Windows que usan la red ya sea directamente (con sockets, por ejemplo) o indirectamente (mediante una API que eventualmente usa la red) pueden experimentar problemas de red. La situación ideal es que el sistema operativo controle automáticamente las condiciones de error de la red en nombre de la aplicación, pero cuando esto no funciona, las aplicaciones deben estar preparadas para encargarse de los errores.

Seleccionar la funcionalidad de red correcta

Para que una aplicación de la Tienda Windows pueda acceder a la red, determinadas funcionalidades de aislamiento de red deben estar habilitadas en el manifiesto de la aplicación. Estas funcionalidades se configuran normalmente con Microsoft Visual Studio 2012 cuando se desarrolla la aplicación. Windows se ocupa de aplicar estas funcionalidades. Si no se estableció la funcionalidad de red apropiada, es posible que se bloquee el acceso a la red.

Por lo tanto, el primer paso para solucionar problemas de red es comprobar que se hayan configurado las funcionalidades de red adecuadas para la aplicación.

Capacidad de redDescripción

privateNetworkClientServer

  • Por lo general, se trata de un "perfil" privado (que incluye la subred local y la funcionalidad de bucle invertido). En una configuración de empresa, esto incluiría la subred local y el sitio/dominio de Active Directory.

  • Si se habilita esta capacidad significa que la aplicación sirve para usarla en la red privada doméstica o en una red privada en el lugar de trabajo.

internetClient

  • Permite la comunicación con servicios de Internet (a través de un proxy, si es necesario). Es similar a la funcionalidad internetClientServer, salvo que todas las comunicaciones deben ser iniciadas por el cliente. El cliente no escucha conexiones de otros hosts. No se permiten conexiones al bucle invertido o a la subred local.

internetClientServer

  • Permite la comunicación con servicios de Internet (a través de un proxy, si es necesario). Esta configuración permite disponibilidad y conectividad entrante de Internet y operaciones salientes iniciadas por el cliente.

Nota  Si bien esta funcionalidad habilita la comunicación entrante, no está garantizado que funcione. Los firewalls y servidores proxy perimetrales de una red empresarial pueden seguir bloqueando la comunicación entrante.

proximity

Permite que dos equipos que están en proximidad física cercana (hasta 30 cm) puedan interactuar entre sí con las características del espacio de nombres Windows.Networking.Proximity.

 

Una vez que hayas determinado el acceso a la red necesario para tu aplicación, asegúrate de que se hayan establecido todas las configuraciones de funcionalidades correspondientes. Si no lo haces, se bloqueará el acceso a la red.

Para obtener información sobre cómo habilitar el bucle invertido para el acceso a la red y solucionar problemas de aislamiento de red, consulta el tema sobre cómo habilitar el bucle invertido y depurar el aislamiento de red.

Reaccionar ante cambios de estado de la red

Cuando Windows 8 detecta redes nuevas, proporcionará nuevas opciones de conectividad de modo automático. Por ejemplo, si un usuario está usando su red 3G para transmitir datos y después entra dentro del alcance de una red Wi-Fi, la nueva opción de conectividad estará disponible para la aplicación si es que tiene sentido.

En el caso de un dispositivo móvil, las redes pueden ir y venir. Una red 3G puede salir del alcance dentro del lugar de trabajo o el hogar del usuario mientras que la conexión Wi-Fi sigue disponible. De igual modo, la conexión Wi-Fi puede salir del alcance cuando un usuario sale de su trabajo u hogar. Además, puede haber ocasiones en las que no haya ninguna red disponible. Dada la proliferación de Wi-Fi y redes de ancho de banda móviles, dichos cambios de red (redes que van, vienen, no están disponibles) son muy comunes. Las conexiones no pasan automáticamente a una red nueva sin ningún problema. La aplicación debe participar en esta tarea. Ten en cuenta que la directiva predeterminada en Windows 8 es elegir la red sin restricciones sobre la red de uso medido y la red más rápida sobre la red más lenta.

El acceso a la red puede verse afectado cada vez que se produzcan cambios en la red. Una aplicación puede registrar notificaciones de cambio de estado de la red (onNetworkStatusChanged) para que se le notifique cuando se produzcan cambios. Si la conexión que estaba usando la aplicación ya no está disponible (según lo indica un error), la aplicación deberá seguir alguno de los siguientes pasos:

  • Volver a intentar la operación. Si falla, esperar otra notificación de NetworkStatusChanged.
  • Comprobar el costo de la red e intentar conectarse a otra red diferente.

Guía básica de solución de problemas

En las aplicaciones de la Tienda Windows, debes hacer lo siguiente:

  • Cuando se produzca un error de red, reintenta la operación si corresponde. Por ejemplo, no reintentes la operación si la autenticación falla, pero vuelve a intentarla si una red inalámbrica con la que te estabas comunicando desaparece, ya que otra red inalámbrica puede estar disponible. Muchos errores desaparecen cuando se vuelve a intentar la operación. Al reintentarlo, sigue las instrucciones especificadas anteriornente en Reaccionar ante cambios de estado de la red.

  • Asegúrate de usar API asincrónicas para que no haya una llamada de bloqueo en el subproceso de interfaz de usuario. Si un proceso de red tarda demasiado tiempo en completarse o se produce un error, tu aplicación debería seguir respondiendo. No emules un comportamiento sincrónico sobre la naturaleza asincrónica de Windows en tiempo de ejecución.

  • Ten planeado de antemano un modelo para controlar los errores. Piensa cómo exponer la información sobre errores al usuario cuando diseñes la aplicación. Por ejemplo, Outlook usa un indicador de red discreto, Communicator tiene un esquema de "reemplazar toda la interfaz de usuario", Internet Explorer incluye un cuadro de diálogo orientado a tareas para las descargas que muestra errores de red. Captura errores y excepciones en los casos en los que se genere una excepción. Comprende cada una de las cadenas de error e informa al usuario como corresponda.

  • Prueba tu aplicación en diversos entornos de red con actividades como desconectarse o volver a conectarse a la red, suspender o reanudar las tareas, o pasar de una red a otra.

  • Cuando estés probando la aplicación y encuentres errores que no son inmediatamente obvios, puedes habilitar el Seguimiento de eventos para Windows (ETW) para recopilar más detalles sobre el problema.

Temas relacionados

Agregar soporte para funciones de red
Seguimiento de eventos para Windows (ETW)
Cómo configurar las funcionalidades de aislamiento de red
Cómo habilitar el bucle invertido y depurar el aislamiento de red

 

 

Mostrar:
© 2018 Microsoft