2015-07-20 23 views
0

我已經通過引用3D Starterkit項目樣本,在Visual Studio 2013中使用C++和DirectX(Xaml)模板開發了Windows應用商店遊戲。現在我想實現一個本地多人遊戲功能,以便用戶可以在連接到本地無線網絡的兩個Windows設備上實時播放它。我是Windows平臺和網絡概念的新手。我在Windows開發人員中心搜索附近運行相同應用程序的設備瀏覽。我發現了兩個樣本。接近樣品和WiFiDirectDevice樣品。但這些樣本無法靠近設備。我想對以下方面提出建議:在本地Wi-Fi網絡上尋找附近的Windows Store多人遊戲

1)「Proximity」或「WiFiDirectDevice」示例是否能滿足我對運行相同應用程序的本地網絡上的設備進行瀏覽的要求?

2)運行相同應用程序的設備是否有其他更好的瀏覽方式? 我希望對這些查詢有任何建議。先謝謝你。

+0

您可以使用本地WiFi接口來做到這一點。請參考下面的URL https://msdn.microsoft.com/en-us/library/windows/desktop/ms706275(v=vs.85).aspx – Suneesh

+0

讓你的程序週期性地發送UDP在一個衆所周知的端口上廣播數據包,並在該端口上偵聽由程序的其他實例發送的任何UDP數據包?使用recvfrom()接收傳入的UDP數據包將爲您提供LAN上任何其他實例的IP地址,並且您想要傳遞的任何其他信息都可以包含在UDP數據包中。 –

+0

謝謝@JeremyFriesner – user3472776

回答

0

您可以使用本地WiFI API的WlanGetAvailableNetworkList方法來獲取可用網絡的列表。您還可以託管一個軟訪問點,並允許另一個客戶端使用本地WiFI API加入。

dwResult = WlanGetAvailableNetworkList(hClient, 
               &pIfInfo->InterfaceGuid, 
               0, 
               NULL, 
               &pBssList); 

https://msdn.microsoft.com/en-us/library/windows/desktop/ms706749(v=vs.85).aspx

+0

感謝您的建議@JTsunami – user3472776

+0

這個API也適用於ARM設備(Surface RT)嗎?我試着在我的代碼中使用這種方法,但我得到的標識符未找到或未定義的wlanapi方法和變量的標識符錯誤。我在代碼中包含了wlanapi.h文件和'#pragma comment(lib,「wlanapi.lib」)「'''。它仍然顯示錯誤。我發現wlanapi.lib文件沒有顯示在Visual Studio的鏈接器輸入屬性部分的項目的附加依賴項中。我該如何解決這個問題? – user3472776

+0

上述API在WIN RT或Windows應用商店應用上不起作用。 https://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.connectivity.networkinformation.getconnectionprofiles.aspx這可能適用於WinRT設備,但不確定。 – Suneesh