Windows 10 - 控制台应用程序中的Peerfinder

时间:2016-03-01 13:38:46

标签: c# win-universal-app desktop-application desktop wifi-direct

我想在控制台应用程序中的2个窗口10之间设置WiFiDirect连接,而不是在通用应用程序中。

  1. 我将目标平台版本设置为10

    <TargetPlatformVersion>10.0</TargetPlatformVersion>

  2. 我添加了对Windows.Foundation的引用,Windows.Networking.Proximity,Windows.Networking.Sockets,Windows.Storage.Streams

  3. 在我的应用程序中,我检查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连接?

0 个答案:

没有答案