socket.io

安裝

$ npm install socket.io --save

在 express 中使用

初始化

const express = require('express')
const app = express()
const socketio = require('socket.io')


const server = app.listen(app.get('port'), function(){
  console.log(CONFIG.appenv.env + ': ' + CONFIG.appenv.domain)
})
app.locals.io = socketio(server)

在 A 頁面的 Server 端,要建立 socket 連線

req.app.locals.io.on('connection', socket => {
  console.log("New user connected")
  // socket.username = "Anonymous"
  // socket.on('change_username', data => {
  //   socket.username = data.username
  // })
})

在 A 頁面的 Client 端

<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js"></script>
<script>
  (function(){
  
    let socket = io.connect('http://localhost:1234')
    /*usernameBtn.addEventListener('click', e => {
      socket.emit('change_username', {username: username.value})
    })*/
    socket.on('from_line_user_message', data => {
      console.log(data)
    })
    
  })()
</script>

在 Server 端的其它地方,若要發送訊息

line_io = req.app.locals.io

line_io.sockets.emit('from_line_user_message', {message: event.message.text})

參考文件

Last updated