Тайм-ауты Wi-Fi Direct UWP (Исключение из HRESULT: 0x800705B4) - PullRequest
5 голосов
/ 05 апреля 2019

Я запускаю службу точки доступа Wi-Fi Direct, используя API-интерфейсы UWP. Все начинается хорошо. Я использую WiFiDirectConnectionListener для мониторинга устройств, которые подключаются к точке доступа с помощью события ConnectionRequested.

var connectionRequest = args.GetConnectionRequest();
var deviceInformation = connectionRequest.DeviceInformation;

// FromIdAsync needs to be called from the UI thread (in MS example).
var isConnected = RunOnUIThreadAsync(() =>
{
    try
    {
        var device = WiFiDirectDevice.FromIdAsync(deviceInformation.Id).AsTask().Result;
        if (device != null)
        {
            device.ConnectionStatusChanged -= OnDeviceConnectionStatusChanged;
            device.ConnectionStatusChanged += OnDeviceConnectionStatusChanged;

            return true;
        }

        return false;
    }
    catch (Exception e)
    {
        // This throws an Exception from HRESULT: 0x800705B4.
        return false;
    }
}).Result; 

На некоторых устройствах, которые подключаются к точке доступа, при вызове FromIdAsync с

генерируется исключение

Эта операция вернулась, поскольку истекло время ожидания. (Исключение из HRESULT: 0x800705B4).

В свою очередь, устройство, которое пытается подключиться к точке доступа, не будет подключаться.

Это всегда те же устройства, которые не могут подключиться, в то время как другие подключаются просто отлично. Я пробовал с и без потока пользовательского интерфейса, но результат остается прежним. Я использую это неправильно, или это ошибка в Wi-Fi Direct? Если да, есть ли другой способ запустить точку доступа Wi-Fi Direct без UWP API? Возможно, это работает лучше.

...