【问题标题】:Socket.IO Broadcast emit not working how to fix it ,Socket.IO 广播发射不工作如何解决它,
【发布时间】:2023-03-13 08:27:01
【问题描述】:

嘿,我正在尝试向连接到服务器的每个人发送消息,除了新用户连接之外,新用户已连接,所以我正在使用 socket.broadcast.emit() 但它不会在浏览器中启动控制台

我的代码:

const path = require('path')
const http = require('http')
const express = require('express')
const socketio = require('socket.io')


const app = express()
const server = http.createServer(app)
const io = socketio(server)

const port = process.env.PORT || 3000
const publicDirectoryPath = path.join(__dirname,'../public')

app.use(express.static(publicDirectoryPath))

io.on('connection',(socket)=>{
    
    console.log('New web socket connection')
   
    socket.emit('welcome',"Welcome !")

    socket.broadcast.emit('message','A new user has joined !')

  

    socket.on('sendMessage',(message)=>{
        io.emit('messageSent',message)
    })

})


server.listen(port,()=>{
    console.log('Server is up on 3000')
})

【问题讨论】:

    标签: javascript node.js sockets


    【解决方案1】:

    您可以发送给每个人(包括您自己):

    io.emit(...)
    

    其他人(但不是你自己 - 即不是socket):

    socket.broadcast.emit(...)
    

    【讨论】:

      猜你喜欢
      • 2018-08-08
      • 2020-03-12
      • 1970-01-01
      • 1970-01-01
      • 2018-06-07
      • 2021-12-15
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      相关资源
      最近更新 更多