【问题标题】:What is difference between socket.on and io.on?socket.on 和 io.on 有什么区别?
【发布时间】:2022-02-01 23:39:44
【问题描述】:

服务器端代码:

io.on('connection',(socket)=>{
    console.log('New WEBSocket Connection')

 
    socket.emit('message',"welcome")
    socket.broadcast.emit('message',"A new user joined")

    socket.on('textMessage',(message,callback)=>{

        const filter = new Filter();
        if(filter.isProfane(message)){
            return callback('Mind your languezz')
        }

        io.emit('message',message)
        callback()
    })
}

客户端代码:

socket.emit('textMessage',message,(error)=>{
        if(error){
            return console.log(error)

        }
        console.log("Message Delivered")
    })

我的疑问是,在客户端代码上,如果我使用 io.on 而不是 socket.on 会怎样? socket.on('textMessage',(message,callback)=>{............相反,我是这样做的: io.on('textMessage',(message,callback)=>{.............

【问题讨论】:

标签: javascript node.js websocket socket.io


【解决方案1】:

io.on 监听服务器事件。 connection 是服务器上的一个事件,当套接字连接时。并且当那个套接字被连接时,里面的回调函数就会运行。

socket.on 监听连接的套接字上的事件。 socket.on('textMessage' 要求在套接字上发出 textMessage 事件时执行某些操作,您可以使用 socket.emit('textMessage' 从客户端执行此操作

【讨论】:

    猜你喜欢
    • 2021-09-26
    • 2016-02-15
    • 2010-10-02
    • 2011-12-12
    • 2010-09-16
    • 2012-03-14
    • 2012-02-06
    • 2011-02-25
    • 2011-11-22
    相关资源
    最近更新 更多