WiFiDirectDevice Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Управляет подключениями к связанным устройствам 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
- Наследование
- Атрибуты
- Реализации
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Примеры
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();
}
}
Комментарии
Класс WiFiDirectDevice можно использовать для установки подключения сокета к другим устройствам с устройством с поддержкой Wi-Fi Direct (WFD). Вы можете вызвать метод GetDeviceSelector , чтобы получить идентификатор устройства Wi-Fi Direct. Получив ссылку на WiFiDirectDevice на компьютере, можно вызвать метод GetConnectionEndpointPairs , чтобы получить объект EndpointPair и установить подключение к сокету с помощью API Windows.Networking.Sockets .
Вы можете добавить обработчик для события ConnectionStatusChanged , чтобы получать уведомления о том, что подключение установлено или отключено.
Одновременно к устройству Wi-Fi Direct может быть подключено только одно приложение.
Для взаимодействия с устройствами Wi-Fi Direct необходимо включить функцию близкого взаимодействия.
Свойства
ConnectionStatus |
Возвращает состояние подключения для устройства WiFi-Direct. |
DeviceId |
Возвращает идентификатор DeviceInformation для устройства Wi-Fi Direct. |
Методы
Close() |
Закройте активное Wi-Fi прямое подключение к устройству. |
Dispose() |
Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов. |
FromIdAsync(String) |
Создает экземпляр класса WiFiDirectDevice для указанного идентификатора интерфейса устройства. |
FromIdAsync(String, WiFiDirectConnectionParameters) |
Создает экземпляр класса WiFiDirectDevice для указанного идентификатора интерфейса устройства с определенными параметрами подключения. |
GetConnectionEndpointPairs() |
Возвращает коллекцию сетевых адресов для устройства Wi-Fi Direct в качестве пар конечных точек. |
GetDeviceSelector() |
Возвращает строку выбора класса, которую можно использовать для перечисления Wi-Fi устройств Direct. |
GetDeviceSelector(WiFiDirectDeviceSelectorType) |
Возвращает строку выбора класса, которую можно использовать для перечисления Wi-Fi устройств Direct для определенного типа селектора устройств Wi-Fi Direct. |
События
ConnectionStatusChanged |
Происходит при подключении или отключении прямого подключения к устройству Wi-Fi. |