使用Proximity API与许多Windows / Windows Phone 8设备同时通信

时间:2013-01-17 12:06:32

标签: windows-8 windows-phone-8 nfc proximity

是否可以使用Windows 8 / Windows Phone 8 Proximity API创建一个在Windows 8(作为服务器)设备和'n'(&gt; 1)Windows Phone 8设备之间进行通信的应用程序?< / p>

[编辑] 我的意思是同时使用NFC建立连接和Wi-Fi或蓝牙进行数据交换。

根据这篇文章:http://msdn.microsoft.com/en-us/library/windows/apps/br241210.aspx,Windows Phone 8不支持Wi-Fi Direct。这究竟意味着什么?两个Windows Phone 8设备之间?

我认为它可以根据MSDN库工作: http://msdn.microsoft.com/en-us/library/windows/apps/jj207060.aspx

此方案适用于Windows Phone 8和Windows 8设备。当点击成功时,您将返回一个可以与其他设备通信的套接字。在Windows Phone 8上,此套接字在TCP / IP(Wi-Fi)连接或蓝牙连接上建立。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

我已经使用多种设备进行了一些测试,我可以说以下内容。

如果2台设备支持NFC,则W8设备和WP8设备只能进行通信。

确实,W8和WP8之间不支持Peer Browsing(根据我的测试)。但是一旦NFC连接建立了W8并且WP8可以使用蓝牙保持连接,因此可以释放NFC连接器(NFC不支持多个同时连接)。

您可以在W8设备和其他设备(W8,WP8)之间保留多个实时连接。

我要做的是:

  • 1 W8(NFC)平板电脑托管连接。
  • 使用Peer Browsing(Direct Wifi)连接到W8平板电脑的1台W8 PC(无NFC)。
  • 2 WP8使用NFC和蓝牙连接到W8平板电脑。

托管设备可以为每个连接的设备保留一个套接字。 您只需要管理所有接收和发送数据的套接字。

答案 1 :(得分:1)

是的,您可以使用邻近框架在Windows Phone 8和Windows 8之间进行通信。

在WP8上,您需要将以下AlternateIdentity设置为Win8 App全名:

PeerFinder.AlternateIdentities.Add("Windows", "<your Win8 app package family name>!<your app WP8 app ID");
// e.g. 
PeerFinder.AlternateIdentities.Add("Windows", "NORADPublicAffairs.NORADTracksSanta_1.0.0.26_x64__bzcj0d5cg39gj");

在Win8上,您需要将以下AlternateIDentity设置为WP8应用程序GUID:

PeerFinder.AlternateIdentities["WindowsPhone"] = "{<your app GUID>}"
// e.g. 
PeerFinder.AlternateIdentities["WindowsPhone"] = "{5b7ba36b-04fc-df11-9264-00237de2db9e}"

然后,您可以使用WP8和Win8上的邻近框架相互通信。 NFC可以用于启动WP8-Win8之间的套接字,然后应该使用蓝牙或TCP / IP作为通信层。