2017-02-21 73 views
-1

我在node.js中的websocket serwer出現問題。節點,js Websocket服務器。如何識別客戶端並從mysql數據庫發送特定數據?

我在MYSQL中有數據庫。名爲'用戶'的表格保存玩家ID,生活,級別等。我怎麼知道我應該向哪個客戶端發送數據庫中的數據?

在符號後的PHP在我正在會話變量像$ _SESSION [「ID」] = ID將其連接到密碼和登錄在數據庫中。然後我從數據庫中獲取數據,如:SELECT用戶的生活WHERE ID = {$ _ SESSION ['id']}。

我怎樣才能做的Node.js的WebSocket服務器這樣的事?我的意思是如果數據庫中的值被改變,它會發送新的值給特定的客戶端並更新特定的div。

我希望是我的問題的任何解決方案。謝謝。

回答

0

你應該保持你的自我$_SESSION。像這樣:

const session = {}; // your session. 
wss.on('connection', (conn) => { 
    conn.on('message', (message) => { 
     switch(message.opreate) { 
      case 'login': // your login message 
       const user = login(message.account, message.pass); 
       session[user.id] = user; 
       conn.userId = user.id; 
      case 'other': // your other message 
       const user = session[conn.userId]; 
       // ... more code 
     } 
    }) 
}) 
+0

所以我明白它是服務器端代碼? 如果是這樣,我怎麼能從客戶端傳遞參數到服務器(message.account和message.pass)?我必須在登錄過程中執行此操作?點擊「登錄」按鈕後? –

+0

我想你應該學習更多關於[WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API)以及'HTTP'和'WebScoket'之間的區別。 – sjfkai

0

所以我明白它是服務器端代碼?

如果是這樣,我怎麼能從客戶端傳遞參數到服務器(message.account和message.pass)?我必須在登錄過程中執行此操作?點擊「登錄」按鈕後?

相關問題