2016-01-25 191 views
0

我正在製作一個node.js服務器,並且有代碼讓服務器運行。但是,我不知道如何從客戶端獲取數據到數據庫。這是我正在製作的一款遊戲,我想製作多人遊戲,所以我是node.js的新手。每個玩家在他們的屏幕上都有不同的圖片,我正在使用javascript在我的html文件中畫一個畫布。我如何從玩家那裏獲得信息,然後查詢,然後給他們一個輸出來在他們的屏幕上畫畫。Node.js服務器,向客戶端和客戶端導入和導出數據

  • 謝謝越早這個可以回答更好

回答

1

瀏覽器客戶端可以做的三件事情與服務器之一。

  1. 它可以請求一個新的網頁,從而改變瀏覽器中的活動頁面(可能不是你要求的)。

  2. 它可以向服務器發送ajax調用並從服務器接收響應。 ajax調用既可以用於將信息發送到服務器,也可以用來從服務器獲取信息,然後通過更改當前顯示的網頁將該信息顯示給用戶。

  3. 您可以創建持久的webSocket連接到服務器。在創建webSocket連接之後,服務器可以向客戶端發送新數據或請求,或者客戶端可以發送服務器數據或請求。數據或請求可以以任何方式發送。

如果你只是想從網頁發送給服務器,使服務器可以存儲的東西在數據庫中,那麼你可能會使用第二個選項(Ajax調用)。您可以在node.js服務器中創建一個路由(例如,針對此Ajax調用的特定URL),然後從您的客戶端向該特定URL發出Ajax請求。您也可以使用Ajax請求將數據或參數發送到服務器。

+0

實際上,我正在做一個agario分拆,所以我需要客戶端的鼠標位置,我需要發送數據(比如其他附近的玩家),以便客戶端的屏幕可以顯示特定的環境客戶。 (如果你不知道agario,http://agar.io/) –

+0

是否有可能基本上在我的客戶端套接字中,給他們播放器代碼,然後將更新文件保存在服務器中,並讓客戶端發送他們的x,y和質量到服務器;然後讓更新文件發送數據到客戶端顯示代碼? –

+0

@IanS。 - 如果你想定期在客戶端和服務器之間來回發送數據,那麼你可能想要使用webSocket連接,因爲它是以任何方式定期發送數據的最低延遲方式。如果您希望能夠動態地將數據從服務器發送到客戶端,而無需客戶端進行輪詢,那麼webSocket是您唯一的選擇。 – jfriend00