2016-11-06 54 views
2

我是通過Unity創建遊戲的,我希望將玩家的分數上傳到MongoDB。因此,我構建了一個監聽端口3000的node.js服務器,並將得分發送到服務器並存儲到數據庫中。適用於網絡和移動應用程序的node.js服務器

我的問題是,如果我想創建一個用於查看/分析玩家分數的網站,我應該使用哪種方法?

  1. 創建兩個Node.js的服務器,一個用於網絡,一個用於遊戲
  2. 一個Node.js的服務器,但偵聽端口80和3000(IM不知道是否有可能或沒有)
  3. 還有其他更好的建議嗎?

謝謝。

回答

2

我會創建一個節點服務器,一個服務於api和web請求。

聽起來像API提供的數據和網絡將是相同的或彼此的子集。所以你可能會想共享代碼,從數據庫中查找相同的東西等等等等。

從這裏,你可以創建api使用和web使用的單獨路徑(/api/v1/my_scores vs /my_scores)或者意識到您只是要求提供相同數據的不同表示,並執行REST風格,如checking the accept header,併發送服務器呈現的HTML或將JSON發送回客戶端。

或者,您可以在Node中創建api,然後使用純前端工具(如Angular或React)爲您的站點創建Web前端。

0

使用端口3000不是一個好主意,因爲許多用戶通過阻止非標準端口的防火牆訪問互聯網。

我會推薦使用443端口和https來確保兩種用例的通信安全。

如果用於分析評分的站點與api服務器不共享邏輯,則可以將其創建爲單獨的站點 - 但在啓動時更容易管理單個應用程序。

0

如果我很容易理解你的問題,並根據我有限的知識,我認爲你不需要多個服務器與數據庫。原因是一個網站你只想顯示高分,也沒有最終用戶可以在網站上插入任何東西。所以複雜度已經很小了,所以不要費心創建另一臺服務器。只是讓數據獲取API在網站中分開使用。

相關問題