S_L*_*uis 6 c# wifi-direct windows-10
我会尽量保持简短.我一直在Windows 10(10130)中运行Microsoft的WiFi Direct Services示例,可以在GitHub上找到,这是Visual Studio 2015 RC中的C#.现在,在他们的Build会议中,他们说你可以在CMD中运行命令,知道你的WiFi适配器是否与WiFi Direct兼容
netsh wlan show wirelesscap
Run Code Online (Sandbox Code Playgroud)
这给了我一个很大的肯定,你的无线适配器是兼容的.
Wi-Fi Direct Device : Supported
Wi-Fi Direct GO : Supported
Wi-Fi Direct Client : Supported
Run Code Online (Sandbox Code Playgroud)
但是,当我运行上面提到的示例时,一切都会正常,直到触发WiFiDirectServiceWrapper.OnAdvertisementStatusChanged(...),在创建广告商之后几乎无效.在附加了分析器的情况下运行示例时,我得到了:
private void OnAdvertisementStatusChanged(WiFiDrectServiceAdvertiser sender, object args)
Run Code Online (Sandbox Code Playgroud)
-
sender | {Windows.Devices.WiFiDirect.Services.WiFiDirectServiceAdvertiser}
AdvertisementStatus: Aborted
AutoAcceptSession: true
CustomServiceStatusCode: 0
DeferredSessionInfo: null
PreferGroupOwnerMode: true
PreferredConfigurationMethods : _native, can't see_
ServiceError: UnsupportedHardware
ServiceInfo: null
ServiceName: "myservice"
ServiceNamePrefixes: {System.__comObject}
ServiceStatus: Available
Run Code Online (Sandbox Code Playgroud)
我真的不知道我应该如何去除这个,因为我找不到这个事件的引发位置(对该方法的唯一引用是
this.advertiser.AdversitementStatusChanged += OnAdvertisementStatusChanged
this.advertiser.AdversitementStatusChanged -= OnAdvertisementStatusChanged
Run Code Online (Sandbox Code Playgroud)
^那些),我看不到WifiDirectServiceAdvertiser实现.
我的WiFi卡是Qualcomm Atheros AR9485,我使用的是Windows Update提供的最新驱动程序.在设备管理器中,我获得了两个Wi-Fi Direct虚拟适配器:
Microsoft Wi-Fi Direct Virtual Adapter
Microsoft Wi-Fi Direct Virtual Adapter #2
Run Code Online (Sandbox Code Playgroud)
第二个有时被禁用(UnsupportedHardware事件是相同的,启用或禁用).对于他们所有人,我已禁用"允许PC关闭此设备以节省能源"选项.
我试图将代码编译为x86和x64,但我在同一点得到了相同的结果.我已经尝试了另外两个通用无线拇指(那些USB WiFi适配器),Windows说是,它们兼容,没有运气.
我知道Windows 10不是最终的,但任何帮助都表示赞赏.
如果您想要做的事情是宣传服务(这实际上是关于 Direct的“Windows 10 中的新功能”),似乎 WiFiDirect 功能并不是您需要查看的唯一功能。
您必须执行的命令与之前完全相同:
netsh wlan show wirelesscap
但是如果你想宣传一个服务,相关的能力如下:
P2P Device Discovery : Supported
P2P Service Name Discovery : Supported
P2P Service Info Discovery : Supported
P2P Background Discovery : Supported
Run Code Online (Sandbox Code Playgroud)
自 8 和 8.1 以来,WiFiDirect 在 Windows 中所做的是广告整台计算机,但自 10 以来,WiFiDirectServices 广告一个或多个在您的机器中同时运行的服务。
假设您是com.boardgames
. 如果您想在没有 WiFi 硬 AP 的某个地方举办棋盘游戏比赛,这可能是您所有服务名称的前缀,因此每个客户端只连接到他们想要的一个:例如,com.boardgames.solitaire
或者com.boardgames.chess
而不是连接到您的机器.
遗憾的是,我尝试过的计算机和 WiFi 天线都与 P2P 发现不兼容。