WiFiDirectDevice Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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. |