Windows.Devices.WiFiDirect Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Contém classes que dão suporte à conexão com dispositivos Wi-Fi Direct associados e pontos de extremidade associados para computadores, tablets e telefones.
Classes
WiFiDirectAdvertisement |
Representa um anúncio Wi-Fi Direct e permite que o aplicativo controle o estado de escuta e os elementos de informações personalizadas no anúncio. |
WiFiDirectAdvertisementPublisher |
Um objeto para publicar Wi-Fi anúncios diretos. |
WiFiDirectAdvertisementPublisherStatusChangedEventArgs |
Fornece dados para um evento StatusChanged em um WiFiDirectAdvertisementPublisher. |
WiFiDirectConnectionListener |
Classe usada para escutar solicitações de conexão direta Wi-Fi de entrada. |
WiFiDirectConnectionParameters |
Usado por um aplicativo para especificar os parâmetros de conexão para uma Wi-Fi operação de conexão/emparelhamento direto. Os aplicativos de exemplo que usam essa classe incluem o exemplo de Wi-Fi Direct. |
WiFiDirectConnectionRequest |
Uma Wi-Fi solicitação de conexão direta recebida por um WiFiDirectConnectionListener. |
WiFiDirectConnectionRequestedEventArgs |
Fornece dados para um evento ConnectionRequested em um WiFiDirectConnectionListener. |
WiFiDirectDevice |
Gerencia conexões com dispositivos Wi-Fi Direct associados. |
WiFiDirectInformationElement |
Representa elementos de informações em um pacote Wi-Fi Direct. |
WiFiDirectLegacySettings |
Configurações que regem o modo "herdado" (conexões não Wi-Fi Direct com o ponto de acesso que está sendo anunciado.) |
Enumerações
WiFiDirectAdvertisementListenStateDiscoverability |
Especifica se o dispositivo Wi-Fi Direct está escutando e detectável. |
WiFiDirectAdvertisementPublisherStatus |
Representa os possíveis estados do WiFiDirectAdvertisementPublisher. |
WiFiDirectConfigurationMethod |
Especifica um método de configuração Wi-Fi Direct. A configuração é como um usuário informa a uma parte de Wi-Fi equipamento Direto para se conectar a outra parte do equipamento Wi-Fi Direct. |
WiFiDirectConnectionStatus |
Descreve o status de conexão de um objeto WiFiDirectDevice. |
WiFiDirectDeviceSelectorType |
Especifica o tipo de seletor de dispositivo para Wi-Fi Direct. |
WiFiDirectError |
Especifica alguns casos comuns de erro Wi-Fi Direct. |
WiFiDirectPairingProcedure |
Especifica um procedimento de emparelhamento direto. |
Exemplos
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();
}
}
Comentários
Você pode usar a classe WiFiDirectDevice para estabelecer uma conexão de soquete com outros dispositivos que têm um dispositivo compatível com Wi-Fi Direct (WFD). Você pode chamar o método GetDeviceSelector para obter o identificador do dispositivo para um dispositivo Wi-Fi Direct. Depois de fazer referência a um WiFiDirectDevice no computador, você pode chamar o método GetConnectionEndpointPairs para obter um objeto EndpointPair e estabelecer uma conexão de soquete usando classes no namespace Windows.Networking.Sockets .
Você pode adicionar um manipulador para o evento ConnectionStatusChanged a ser notificado quando a conexão tiver sido estabelecida ou desconectada.
Somente um aplicativo pode ser conectado a um dispositivo Wi-Fi Direct por vez.
Você deve habilitar a funcionalidade proximidade para se comunicar com dispositivos Wi-Fi Direct.