Windows.Devices.WiFiDirect Spazio dei nomi
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.