我正在使用 UWP API 启动 Wi-Fi Direct 接入点服务。开始正常。我在用着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
with
由于超时时间已过,该操作返回。 (HRESULT 异常:0x800705B4)。
反过来,尝试连接接入点的设备将无法连接。
总是相同的设备无法连接,而其他设备却可以正常连接。我尝试过使用和不使用 UI 线程,但结果仍然相同。是我使用错误,还是 Wi-Fi Direct 中的错误?如果是这样,是否有其他方法可以在不使用 UWP API 的情况下启动 Wi-Fi Direct 接入点?也许这样效果更好。
防止超时的解决方法是在客户端激活 DHCP。我在尝试将具有固定 IP 地址的设备连接到热点时遇到此错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)