Condividi tramite


Windows.Devices.WiFiDirect Spazio dei nomi

Contiene classi che supportano la connessione a dispositivi Wi-Fi diretti e endpoint associati per PC, tablet e telefoni.

Classi

WiFiDirectAdvertisement

Rappresenta un Wi-Fi annuncio diretto e consente all'app di controllare lo stato di ascolto e gli elementi informativi personalizzati nell'annuncio.

WiFiDirectAdvertisementPublisher

Oggetto da pubblicare Wi-Fi annunci diretti.

WiFiDirectAdvertisementPublisherStatusChangedEventArgs

Fornisce dati per un evento StatusChanged in un WiFiDirectAdvertisementPublisher.

WiFiDirectConnectionListener

Classe usata per ascoltare le richieste di connessione diretta Wi-Fi in ingresso.

WiFiDirectConnectionParameters

Usato da un'app per specificare i parametri di connessione per un'operazione di connessione Wi-Fi direct connect/pairing.

Le applicazioni di esempio che usano questa classe includono l'esempio di Wi-Fi Direct.

WiFiDirectConnectionRequest

Richiesta di connessione diretta Wi-Fi ricevuta da un WiFiDirectConnectionListener.

WiFiDirectConnectionRequestedEventArgs

Fornisce dati per un evento ConnectionRequested in un WiFiDirectConnectionListener.

WiFiDirectDevice

Gestisce le connessioni ai dispositivi diretti associati Wi-Fi.

WiFiDirectInformationElement

Rappresenta gli elementi informativi in un pacchetto diretto di Wi-Fi.

WiFiDirectLegacySettings

Impostazioni che regolano la modalità "legacy" (connessioni non Wi-Fi Direct al punto di accesso annunciato).

Enumerazioni

WiFiDirectAdvertisementListenStateDiscoverability

Specifica se il dispositivo direct Wi-Fi è in ascolto e individuabile.

WiFiDirectAdvertisementPublisherStatus

Rappresenta gli stati possibili di WiFiDirectAdvertisementPublisher.

WiFiDirectConfigurationMethod

Specifica un metodo di configurazione diretta Wi-Fi. La configurazione è il modo in cui un utente indica un pezzo di Wi-Fi apparecchiature Direct per connettersi a un altro pezzo di apparecchiature Wi-Fi Direct.

WiFiDirectConnectionStatus

Descrive lo stato della connessione di un oggetto WiFiDirectDevice .

WiFiDirectDeviceSelectorType

Specifica il tipo di selettore del dispositivo per Wi-Fi Direct.

WiFiDirectError

Specifica alcuni casi comuni di errore diretto Wi-Fi.

WiFiDirectPairingProcedure

Specifica una procedura di associazione diretta.

Esempio

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(); 
    }
}

Commenti

È possibile usare la classe WiFiDirectDevice per stabilire una connessione socket con altri dispositivi con un dispositivo compatibile con Wi-Fi Direct (WFD). È possibile chiamare il metodo GetDeviceSelector per ottenere l'identificatore del dispositivo per un dispositivo Wi-Fi Direct. Dopo avere un riferimento a un WiFiDirectDevice nel computer, è possibile chiamare il metodo GetConnectionEndpointPairs per ottenere un oggetto EndpointPair e stabilire una connessione socket usando le classi nello spazio dei nomi Windows.Networking.Sockets .

È possibile aggiungere un gestore per l'evento ConnectionStatusChanged da notificare quando la connessione è stata stabilita o disconnessa.

Una sola app può essere connessa a un dispositivo diretto Wi-Fi alla volta.

È necessario abilitare la funzionalità Prossimità per comunicare con i dispositivi Wi-Fi Direct.

Vedi anche