直至目前為止
我們後端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.');
});
});