Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Información general sobre las tecnologías de red disponibles para un desarrollador de UWP, con sugerencias sobre cómo elegir las tecnologías adecuadas para la aplicación.
Enchufes
Use Sockets cuando se comunique con otro dispositivo y quiera usar su propio protocolo.
Hay dos implementaciones de sockets disponibles para desarrolladores de Universal Windows Platform (UWP): Windows. Networking.Sockets y Winsock. Si va a escribir código nuevo, Windows. Networking.Sockets tiene la ventaja de ser una API moderna, diseñada para su uso por parte de los desarrolladores de UWP. Si usa bibliotecas de redes multiplataforma u otro código de Winsock existente, o prefiere la API de Winsock, úselo.
Cuándo usar sockets
Ambas implementaciones de sockets permiten comunicarse con otros dispositivos mediante protocolos de su propia elección, mediante TCP o UDP.
Elija la API de sockets que mejor se adapte a sus necesidades en función de la experiencia y de cualquier código existente que pueda usar.
Cuándo no usar sockets
- No implemente una pila HTTP(S) propia usando sockets. Use HttpClient en su lugar.
- Si WebSockets (StreamWebSocket y MessageWebSocket clases) satisface las necesidades de comunicaciones (TCP a/desde un servidor web), considere su uso en lugar de dedicar su propio tiempo y recursos de desarrollo a implementar funcionalidades similares con sockets.
Websockets
El protocolo WebSockets define un mecanismo para una comunicación bidireccional rápida y segura entre un cliente y un servidor a través de la Web. Los datos se transfieren inmediatamente a través de una conexión de socket único dúplex completo, lo que permite enviar y recibir mensajes desde ambos extremos en tiempo real. WebSockets son ideales para su uso en juegos en tiempo real en los que las notificaciones instantáneas de la red social y la actualización de la visualización de información (como las estadísticas del juego) deben ser seguras y utilizar una rápida transferencia de datos. Los desarrolladores de UWP pueden usar las clases StreamWebSocket y MessageWebSocket para conectarse con servidores que admiten el protocolo Websocket.
Cuándo usar Websockets
- Cuando desee enviar y recibir datos de forma continua entre un dispositivo y un servidor.
Cuándo no usar Websockets
- Si envía o recibe datos con poca frecuencia, es posible que sea más sencillo realizar solicitudes HTTP individuales desde el dispositivo al servidor, en lugar de establecer y mantener una conexión WebSocket.
- WebSockets puede no ser adecuado para situaciones de gran volumen. Considere la posibilidad de modelar los flujos de datos y simular el tráfico a través de WebSockets antes de confirmar su uso en el diseño.
Cliente HTTP
Usa HttpClient (y el resto del API del espacio de nombres Windows.Web.Http) cuando se usa HTTP(S) para comunicarse con un servicio web o un servidor web.
Cuándo usar HttpClient
- Al usar HTTP(S) para comunicarse con servicios web.
- Al cargar o descargar un pequeño número de archivos más pequeños.
- Si WebSockets (el StreamWebSocket y MessageWebSocket clases) satisfacen sus necesidades de comunicaciones (TCP a/desde un servidor web) y el servidor web en cuestión admite WebSockets, considere su uso en lugar de dedicar su propio tiempo y recursos de desarrollo a implementar una funcionalidad similar con HttpClient.
- Cuando se transmite contenido a través de la red.
Cuándo no usar HttpClient
- Si va a transferir archivos grandes o un gran número de archivos, considere la posibilidad de usar transferencias en segundo plano en su lugar.
- Si desea poder restringir los límites de carga y descarga en función del tipo de conexión, o si desea guardar el progreso y reanudar la carga o descarga después de una interrupción, debe usar transferencias en segundo plano.
- Si se comunica entre dos dispositivos y ninguno está diseñado para actuar como servidor HTTP(S), debe usar sockets. No intente implementar su propio servidor HTTP y use HttpClient para comunicarse con él.
Transferencias en segundo plano
Use la API de transferencia en segundo plano cuando desee transferir archivos de forma confiable a través de la red. La API de transferencia en segundo plano proporciona características avanzadas de carga y descarga que se ejecutan en segundo plano durante la suspensión de la aplicación y persisten más allá de la finalización de la aplicación. La API supervisa el estado de red y suspende y reanuda automáticamente las transferencias cuando se pierde la conectividad, y las transferencias también son compatibles con el sentido de los datos y el reconocimiento de la batería, lo que significa que la actividad de descarga se ajusta en función de la conectividad actual y el estado de la batería del dispositivo. Estas funcionalidades son esenciales cuando la aplicación se ejecuta en dispositivos móviles o con batería. La API es ideal para cargar y descargar archivos grandes mediante HTTP(S). También se admite FTP, pero solo para descargas.
Una nueva característica de transferencia en segundo plano en Windows 10 es la capacidad de desencadenar el posprocesamiento cuando se ha completado una transferencia de archivos, de modo que pueda actualizar catálogos locales, activar otras aplicaciones o notificar al usuario cuando se complete una descarga.
Cuándo usar transferencias en segundo plano
- Use transferencias en segundo plano para transferir archivos grandes de forma confiable o un gran número de archivos.
- Utilice transferencias en segundo plano con grupos de finalización de transferencia en segundo plano cuando desee procesar transferencias de archivos con una tarea en segundo plano.
- Use las transferencias en segundo plano si desea poder reanudar una transferencia en curso después de una interrupción de la red.
- Use transferencias en segundo plano si desea poder cambiar el comportamiento de transferencia en función de las condiciones de red, como estar en un plan de datos medido.
Cuándo no usar transferencias en segundo plano
- Si va a transferir un pequeño número de archivos pequeños y no necesita realizar ningún procesamiento posterior cuando se complete la transferencia, considere la posibilidad de usar HttpClient métodos PUT o POST.
- Si quiere transmitir datos y usarlos localmente a medida que llega, use HttpClient.
Tecnologías adicionales relacionadas con la red
Calidad de la conexión
Las API en el espacio de nombres Windows.Networking.Connectivity le permiten acceder a la información sobre la conectividad de red, el costo y el uso. Para obtener más información sobre el uso de esta API, consulte Acceso al estado de conexión de red y administración de costos de red.
Detección de servicios DNS
El Windows. Networking.ServiceDiscovery.Dnssd API le permite anunciar un servicio de red a otros dispositivos de la red mediante el protocolo DNS-SD descrito en IETF RFC 2782.
Comunicación a través de Bluetooth
Entre otras cosas, el Windows. Devices.Bluetooth API le permite usar Bluetooth para conectarse a otros dispositivos y transferir datos. Para obtener más información, vea Enviar o recibir archivos con RFCOMM.
Notificaciones push (WNS)
El Windows. Networking.PushNotifications API le permite usar el servicio de notificaciones de Windows (WNS) para recibir notificaciones push a través de la red. Para obtener más información sobre el uso de esta API, consulte Windows Introducción a Servicios de notificaciones push (WNS)
Comunicaciones de campo cercano
El Windows. Networking.Proximity API le permite usar comunicaciones casi de campo para las aplicaciones que usan proximidad o pulsan con dispositivos para permitir una transferencia de datos sencilla. Para obtener más información sobre el uso de esta API, consulte Proximidad y toque.
Fuentes RSS y Atom
El Windows. Web.Syndication API le permite administrar fuentes de distribución mediante formatos RSS y Atom. Para obtener más información sobre el uso de esta API, consulte Fuentes RSS/Atom.
Enumeración de redes Wi-Fi y control de conexión
El Windows. Devices.WiFi API le permite enumerar adaptadores de Wi-Fi, buscar redes Wi-Fi disponibles y conectar un adaptador a una red.
Control de radio
El Windows. Devices.Radios API permite encontrar y controlar radios en el dispositivo local, incluidos Wi-Fi y Bluetooth.
Wi-Fi Direct
El Windows. Devices.WiFiDirect API le permite conectarse y comunicarse con otros dispositivos locales mediante Wi-Fi Direct para crear redes inalámbricas locales ad hoc.
servicios de Wi-Fi Direct
El Windows. Devices.WiFiDirect.Services API le permite proporcionar Wi-Fi servicios directos y conectarse a ellos. Wi-Fi Direct Services son la forma en que un dispositivo de una red ad hoc directa (un anunciante de servicios) de Wi-Fi ofrece funcionalidades a otro dispositivo (un solicitante de servicio) a través de una conexión directa de Wi-Fi.
Operadores móviles
Windows 10 expone a una amplia audiencia de desarrolladores algunas API que anteriormente solo se han expuesto a fabricantes de dispositivos y operadores móviles. Tenga en cuenta que, aunque estas API se exponen ahora, también están controladas por funcionalidades de aplicación específicas que Microsoft debe aprobar antes de que se pueda publicar una aplicación. El uso real de estas API seguirá estando limitado principalmente a los fabricantes de dispositivos y operadores móviles.
Operaciones de red
El Windows. Networking.NetworkOperators API se ocupa principalmente de la configuración y el aprovisionamiento de teléfonos. Por lo tanto, el permiso para usar las capacidades que lo controlan se limita a los fabricantes de dispositivos y a los proveedores de telecomunicaciones.
SMS
El Windows. Devices.Sms espacio de nombres trata con SMS y mensajes relacionados como entidades de bajo nivel. Se proporciona para su uso por parte de los operadores móviles para el uso de SMS dirigido a la aplicación y se controla mediante una funcionalidad que no se aprobará para su uso por parte de la mayoría de los desarrolladores de aplicaciones. Si escribes una aplicación para tratar los mensajes, debes usar el Windows. ApplicationModel.Chat API en su lugar, ya que está diseñada para controlar no solo mensajes SMS, sino también mensajes de otros orígenes, como aplicaciones de chat en tiempo real, lo que permite una experiencia de chat/mensajería mucho más enriquecida.