2015-08-20 99 views
0

我需要设计一个纸牌游戏,将放在Windows应用商店,让别人下载和玩对方离线。通用Windows平台(UWP)应用程序的C#服务器/客户端应用程序

  1. 他们只需要在同一个WiFi网络内使用UDP查找对方。
  2. 一位玩家将成为主人,而其他玩家将成为客户。
  3. 所有客户端都将被发送从主机

我的问题是/接收数据,

  1. 不UWP支持UDP通信,就像基于这些Windows客户端/服务器的聊天程序,可以发现主机使用UDP。

  2. 游戏过程中的每一个动作都需要从主机发送/接收,通信的最佳方式是什么?在过去,我将构建一个ServiceHost并将WCF用于主机和客户端之间的通信。但似乎UWP没有这样的库。

  3. 我将存储游戏记录,包括所有玩家每次移动到主机的设备(一旦有互联网访问将上传到云端)。我应该将它保存到SQLite还是SQL Server Compact?

感谢您的任何帮助。

迈克尔

回答

2

确实UWP支持UDP通信,就像基于 客户机/服务器的聊天程序的Windows中,可以使用UDP

UWP DatagramSocket类有支持UDP通信发现的主机。但要发现主机,您需要使用蓝牙和WiFi-direct等对等技术。在UWP中,您可以使用PeerFinder class

游戏过程中的每个动作都需要从主机发送/接收, 通信的最佳方式是什么?

WCF有点重,原始数据(字节)通信应该足够,如果逻辑不是很复杂。

我将存储游戏记录,包括所有玩家每个迁入 主机设备(将上传到云端,一旦有互联网接入 )。我应该将它保存到SQLite还是SQL Server Compact?

您可以将记录存储在SQLite中或将数据保存为纯文本文件。我建议使用SQLite。

参考文献:

DatagramSocket sample

+0

谢谢你的信息。这非常有帮助。关于“原始数据通信”,它是我在示例[StreamSocket示例](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/StreamSocket)中找到的“StreamSocket”?我们大多数团队成员都是网络程序员,我已经看到Windows 10 IoT可以将Node.js嵌入到应用程序中,我的UWP是否也可以嵌入Node.js?这样我们就可以使用HTTP get/post进行数据通信。谢谢。 –

相关问题