Compartir a través de


WiFiDirectDevice Clase

Definición

Administra las conexiones a los dispositivos asociados Wi-Fi Direct.

public ref class WiFiDirectDevice sealed : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class WiFiDirectDevice final : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class WiFiDirectDevice : System.IDisposable
Public NotInheritable Class WiFiDirectDevice
Implements IDisposable
Herencia
Object Platform::Object IInspectable WiFiDirectDevice
Atributos
Implementaciones

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

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

Puede usar la clase WiFiDirectDevice para establecer una conexión de socket con otros dispositivos que tengan un dispositivo compatible con Wi-Fi Direct (WFD). Puede 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 la API Windows.Networking.Sockets .

Puede agregar un controlador para el evento ConnectionStatusChanged que se notificará 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 Wi-Fi dispositivos direct.

Propiedades

ConnectionStatus

Obtiene el estado de conexión del dispositivo WiFi-Direct.

DeviceId

Obtiene el id. deviceInformation del dispositivo Wi-Fi directo.

Métodos

Close()

Cierre la conexión activa Wi-Fi dispositivo directo.

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

FromIdAsync(String)

Crea una instancia de la clase WiFiDirectDevice para el identificador de interfaz de dispositivo especificado.

FromIdAsync(String, WiFiDirectConnectionParameters)

Crea una instancia de la clase WiFiDirectDevice para el identificador de interfaz de dispositivo especificado con parámetros de conexión específicos.

GetConnectionEndpointPairs()

Obtiene una colección de direcciones de red para el dispositivo directo Wi-Fi como pares de puntos de conexión.

GetDeviceSelector()

Devuelve la cadena de selección de clase que puede usar para enumerar Wi-Fi dispositivos direct.

GetDeviceSelector(WiFiDirectDeviceSelectorType)

Devuelve la cadena de selección de clase que puede usar para enumerar Wi-Fi dispositivos direct para un tipo de selector de dispositivo directo de Wi-Fi específico.

Eventos

ConnectionStatusChanged

Se produce cuando una conexión de dispositivo directo Wi-Fi está conectada o desconectada.

Se aplica a

Consulte también