2015-08-20 150 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進行數據通信。謝謝。 –

相關問題