Compartir a través de


Windows.Devices.WiFiDirect Espacio de nombres

Contiene clases que admiten la conexión a dispositivos asociados Wi-Fi Direct y puntos de conexión asociados para equipos, tabletas y teléfonos.

Clases

WiFiDirectAdvertisement

Representa un Wi-Fi anuncio directo y permite que la aplicación controle el estado de escucha y los elementos de información personalizados en el anuncio.

WiFiDirectAdvertisementPublisher

Objeto que se va a publicar Wi-Fi anuncios directos.

WiFiDirectAdvertisementPublisherStatusChangedEventArgs

Proporciona datos para un evento StatusChanged en un WiFiDirectAdvertisementPublisher.

WiFiDirectConnectionListener

Clase que se usa para escuchar las solicitudes de conexión entrantes Wi-Fi Direct.

WiFiDirectConnectionParameters

Lo usa una aplicación para especificar los parámetros de conexión para una operación de conexión/emparejamiento directo Wi-Fi.

Las aplicaciones de ejemplo que usan esta clase incluyen el ejemplo de Wi-Fi Direct.

WiFiDirectConnectionRequest

Una Wi-Fi solicitud de conexión directa recibida por un WiFiDirectConnectionListener.

WiFiDirectConnectionRequestedEventArgs

Proporciona datos para un evento ConnectionRequested en un WiFiDirectConnectionListener.

WiFiDirectDevice

Administra las conexiones a dispositivos asociados Wi-Fi Direct.

WiFiDirectInformationElement

Representa los elementos de información de un paquete directo Wi-Fi.

WiFiDirectLegacySettings

Configuración que rige el modo "heredado" (conexiones no Wi-Fi Direct al punto de acceso que se anuncia).

Enumeraciones

WiFiDirectAdvertisementListenStateDiscoverability

Especifica si el dispositivo Wi-Fi Direct está escuchando y detectando.

WiFiDirectAdvertisementPublisherStatus

Representa los estados posibles del WiFiDirectAdvertisementPublisher.

WiFiDirectConfigurationMethod

Especifica un método de configuración de Wi-Fi Direct. La configuración es cómo un usuario indica a un elemento de Wi-Fi equipo directo que se conecte a otra parte de Wi-Fi equipo directo.

WiFiDirectConnectionStatus

Describe el estado de conexión de un objeto WiFiDirectDevice .

WiFiDirectDeviceSelectorType

Especifica el tipo de selector de dispositivos para Wi-Fi Direct.

WiFiDirectError

Especifica algunos casos comunes de error de Wi-Fi directo.

WiFiDirectPairingProcedure

Especifica un procedimiento de emparejamiento directo.

Ejemplos

Windows.Devices.WiFiDirect.WiFiDirectDevice wfdDevice;

private async System.Threading.Tasks.Task<String> Connect(string deviceId)
{
    string result = ""; 

    try
    {
        // No device ID specified.
        if (String.IsNullOrEmpty(deviceId)) { return "Please specify a Wi-Fi Direct device ID."; }

        // Connect to the selected Wi-Fi Direct device.
        wfdDevice = await Windows.Devices.WiFiDirect.WiFiDirectDevice.FromIdAsync(deviceId);

        if (wfdDevice == null)
        {
            result = "Connection to " + deviceId + " failed.";
        }

        // Register for connection status change notification.
        wfdDevice.ConnectionStatusChanged += new TypedEventHandler<Windows.Devices.WiFiDirect.WiFiDirectDevice, object>(OnConnectionChanged);

        // Get the EndpointPair information.
        var EndpointPairCollection = wfdDevice.GetConnectionEndpointPairs();

        if (EndpointPairCollection.Count > 0)
        {
            var endpointPair = EndpointPairCollection[0];
            result = "Local IP address " + endpointPair.LocalHostName.ToString() + 
                " connected to remote IP address " + endpointPair.RemoteHostName.ToString();
        }
        else
        {
           result = "Connection to " + deviceId + " failed.";
        }
    }
    catch (Exception err)
    {
        // Handle error.
        result = "Error occurred: " + err.Message;
    }

    return result;
}

private void OnConnectionChanged(object sender, object arg)
{
    Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus status = 
        (Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus)arg;

    if (status == Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus.Connected)
    {
        // Connection successful.
    }
    else
    {
        // Disconnected.
        Disconnect();
    }
}

private void Disconnect()
{
    if (wfdDevice != null) 
    {
        wfdDevice.Dispose(); 
    }
}

Comentarios

Puedes usar la clase WiFiDirectDevice para establecer una conexión de socket con otros dispositivos que tengan un dispositivo compatible con Wi-Fi Direct (WFD). Puedes llamar al método GetDeviceSelector para obtener el identificador de dispositivo de un dispositivo Wi-Fi Direct. Una vez que tenga una referencia a un WiFiDirectDevice en el equipo, puede llamar al método GetConnectionEndpointPairs para obtener un objeto EndpointPair y establecer una conexión de socket mediante clases en el espacio de nombres Windows.Networking.Sockets .

Puede agregar un controlador para que se notifique al evento ConnectionStatusChanged cuando se haya establecido o desconectado la conexión.

Solo se puede conectar una aplicación a un dispositivo Wi-Fi Direct a la vez.

Debe habilitar la funcionalidad Proximidad para comunicarse con dispositivos Wi-Fi Direct.

Consulte también