next.js/test/e2e/socket-io/pages/api/socket.js
socket.js30 lines568 B
import { Server } from 'socket.io'

function onSocketConnection(io, socket) {
  const createdMessage = (msg) => {
    socket.broadcast.emit('newIncomingMessage', msg)
  }

  socket.on('createdMessage', createdMessage)
}

export default function handler(req, res) {
  if (res.socket.server.io) {
    res.end()
    return
  }

  const io = new Server(res.socket.server, {
    path: '/api/my_awesome_socket',
  })
  res.socket.server.io = io

  const onConnection = (socket) => {
    onSocketConnection(io, socket)
  }

  io.on('connection', onConnection)

  res.end()
}
Quest for Codev2.0.0
/
SIGN IN