Windows.Devices.WiFiDirect Espacio de nombres
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í.
Contiene clases que admiten la conexión a dispositivos asociados Wi-Fi Direct y puntos de conexión asociados para equipos, tabletas y teléfonos.
Clases
WiFiDirectAdvertisement |
Representa un Wi-Fi anuncio directo y permite que la aplicación controle el estado de escucha y los elementos de información personalizados en el anuncio. |
WiFiDirectAdvertisementPublisher |
Objeto que se va a publicar Wi-Fi anuncios directos. |
WiFiDirectAdvertisementPublisherStatusChangedEventArgs |
Proporciona datos para un evento StatusChanged en un WiFiDirectAdvertisementPublisher. |
WiFiDirectConnectionListener |
Clase que se usa para escuchar las solicitudes de conexión entrantes Wi-Fi Direct. |
WiFiDirectConnectionParameters |
Lo usa una aplicación para especificar los parámetros de conexión para una operación de conexión/emparejamiento directo Wi-Fi. Las aplicaciones de ejemplo que usan esta clase incluyen el ejemplo de Wi-Fi Direct. |
WiFiDirectConnectionRequest |
Una Wi-Fi solicitud de conexión directa recibida por un WiFiDirectConnectionListener. |
WiFiDirectConnectionRequestedEventArgs |
Proporciona datos para un evento ConnectionRequested en un WiFiDirectConnectionListener. |
WiFiDirectDevice |
Administra las conexiones a dispositivos asociados Wi-Fi Direct. |
WiFiDirectInformationElement |
Representa los elementos de información de un paquete directo Wi-Fi. |
WiFiDirectLegacySettings |
Configuración que rige el modo "heredado" (conexiones no Wi-Fi Direct al punto de acceso que se anuncia). |
Enumeraciones
WiFiDirectAdvertisementListenStateDiscoverability |
Especifica si el dispositivo Wi-Fi Direct está escuchando y detectando. |
WiFiDirectAdvertisementPublisherStatus |
Representa los estados posibles del WiFiDirectAdvertisementPublisher. |
WiFiDirectConfigurationMethod |
Especifica un método de configuración de Wi-Fi Direct. La configuración es cómo un usuario indica a un elemento de Wi-Fi equipo directo que se conecte a otra parte de Wi-Fi equipo directo. |
WiFiDirectConnectionStatus |
Describe el estado de conexión de un objeto WiFiDirectDevice . |
WiFiDirectDeviceSelectorType |
Especifica el tipo de selector de dispositivos para Wi-Fi Direct. |
WiFiDirectError |
Especifica algunos casos comunes de error de Wi-Fi directo. |
WiFiDirectPairingProcedure |
Especifica un procedimiento de emparejamiento directo. |
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
Puedes usar la clase WiFiDirectDevice para establecer una conexión de socket con otros dispositivos que tengan un dispositivo compatible con Wi-Fi Direct (WFD). Puedes 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 clases en el espacio de nombres Windows.Networking.Sockets .
Puede agregar un controlador para que se notifique al evento ConnectionStatusChanged 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 dispositivos Wi-Fi Direct.