直至目前為止
我們後端nodejs總共切成三個部分
前端只由一個game.vue 處理
相信我們還可以把功能拆成更細的模組
不過目前還是以快速開發為主,到後面我們再來優化他
這邊必須創建一個 websocket 服務
npm install websocket --save
//引入http websocket
const http = require('http');
const ws = require('websocket').server;
// 建立server 並監聽Port 9999
const PORT = 9999;
const server = http.createServer().listen(PORT)
const GAME_MANAGER = require('./request/game_manager')
// 產生websocketServer
webSocketServer = new ws({
  httpServer: server
});
//當使用者連入時 觸發此事件
webSocketServer.on('request', request => {
  let connection = request.accept('echo-protocol', request.origin);
  //當websocket server收到訊息時 觸發此事件
  connection.on('message', event => {
    let data = JSON.parse(event.utf8Data)
    console.log(`接收訊息${ JSON.stringify(data) }`)
    GAME_MANAGER(connection, data)
  });
  //當使用者socket連線中斷時 例如:關閉瀏覽器 觸發此事件
  connection.on('close', (reasonCode, description) => {
    console.log('connection close.');
  });
});