我想在控制台应用程序中的2个窗口10之间设置WiFiDirect连接,而不是在通用应用程序中。
我将目标平台版本设置为10
<TargetPlatformVersion>10.0</TargetPlatformVersion>
我添加了对Windows.Foundation的引用,Windows.Networking.Proximity,Windows.Networking.Sockets,Windows.Storage.Streams
在我的应用程序中,我检查WiFiDirect是否为suppartet。
if ((Windows.Networking.Proximity.PeerFinder.SupportedDiscoveryTypes & Windows.Networking.Proximity.PeerDiscoveryTypes.Browse) != Windows.Networking.Proximity.PeerDiscoveryTypes.Browse)
{
Console.WriteLine("Peer discovery using Wifi-Direct is not supported.\n");
}
这样可行。 但是当我调用PeerFinder.Start()时,我得到了一个异常。
HRESULT 0x80004004(E_ABORT)
这是调用PeerFinder.Start()
的代码 try
{
PeerFinder.AllowWiFiDirect = true;
PeerFinder.Role = PeerRole.Peer;
PeerFinder.ConnectionRequested += PeerFinder_ConnectionRequested;
PeerFinder.TriggeredConnectionStateChanged += PeerFinder_TriggeredConnectionStateChanged;
using (var discoveryDataWriter = new Windows.Storage.Streams.DataWriter(new Windows.Storage.Streams.InMemoryRandomAccessStream()))
{
discoveryDataWriter.WriteString("test12");
PeerFinder.DiscoveryData = discoveryDataWriter.DetachBuffer();
}
PeerFinder.Start();
}
catch (Exception e)
{
Console.WriteLine("start failed: " + e.Message);
}
我想我无法在控制台应用程序中使用PeerFinder,是否有其他方法可以为桌面应用程序建立WiFiDirect连接?