WiFiDirectDevice Classe
Definizione
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.
Gestisce le connessioni ai dispositivi diretti associati Wi-Fi.
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
- Ereditarietà
- Attributi
- Implementazioni
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
|
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 che dispongono di un dispositivo compatibile con Direct (WFD) Wi-Fi. È 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 l'API 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.
Proprietà
ConnectionStatus |
Ottiene lo stato della connessione per il dispositivo WiFi-Direct. |
DeviceId |
Ottiene l'ID DeviceInformation per il dispositivo Wi-Fi Direct. |
Metodi
Close() |
Chiudere la connessione del dispositivo diretto Wi-Fi attiva. |
Dispose() |
Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite. |
FromIdAsync(String) |
Crea un'istanza della classe WiFiDirectDevice per l'ID dell'interfaccia del dispositivo specificato. |
FromIdAsync(String, WiFiDirectConnectionParameters) |
Crea un'istanza della classe WiFiDirectDevice per l'ID dell'interfaccia del dispositivo specificato con parametri di connessione specifici. |
GetConnectionEndpointPairs() |
Ottiene una raccolta di indirizzi di rete per il dispositivo diretto Wi-Fi come coppie di endpoint. |
GetDeviceSelector() |
Restituisce la stringa di selezione della classe che è possibile usare per enumerare Wi-Fi dispositivi Direct. |
GetDeviceSelector(WiFiDirectDeviceSelectorType) |
Restituisce la stringa di selezione della classe che è possibile usare per enumerare Wi-Fi dispositivi Direct per un tipo di selettore di dispositivi diretto Wi-Fi specifico. |
Eventi
ConnectionStatusChanged |
Si verifica quando una connessione Wi-Fi dispositivo diretto è connessa o disconnessa. |