Socket.IO技術應用於Vue.js + Node.js專案(1)

前言

因為想要試著打造一個線上問答平台,此平台專案採前後分離形式,前端選用Vue框架,後端則是選擇較為熟悉的Node.js+MySQL建立API,而除了基本提問及解答外,問答莫過於最強調即時性了,身為一名發問的學生,一定是最想即時知道自己的問題什麼時候被解決吧😁

什麼是Socket.IO?

Socket.IO技術可以實現後端(伺服器)和前端(客戶端)的通信實時雙向,與以往建立專案通常都是由資料改變而驅動畫面的改變概念有所不同。

//前端
socket.emit("greetingFromClient","Hello, Backend!")
//後端
socket.on("greetingFromClient",function (msg) {
console.log(msg) //Hello, Backend!
socket.emit("greetingFromServer","Hello,Frontend!")
})
//前端
socket.on("greetingFromServer",function (msg) {
console.log(msg) //Hello,Frontend!
})
socket.emit('msg', "Hello"); //sending to sender-client onlysocket.broadcast.emit('msg', "Hello"); //sending to all clients except sendersocket.broadcast.to('game').emit('message', 'Hello'); //sending to all clients in 'game' room(channel) except sendersocket.to('game').emit('msg', 'Hello'); //sending to sender client, only if they are in 'game' room(channel)socket.broadcast.to(socketid).emit('msg', 'Hello'); //sending to individual socketidio.emit('msg', "Hello"); //sending to all clients, include senderio.in('game').emit('msg', 'Hello'); //sending to all clients in 'game' room(channel), include sendersocket.on(); //event listener, can be called on client to execute on server

1992, 學習科技|研究投資|環境工程技師|成功大學環境工程學系|台灣大學環境工程研究所|水處理行業工作兩年半|想要用科技打造自己的企業,過自己想過的生活。

1992, 學習科技|研究投資|環境工程技師|成功大學環境工程學系|台灣大學環境工程研究所|水處理行業工作兩年半|想要用科技打造自己的企業,過自己想過的生活。