Javascript nodejs中的socket.on内部socket.on服务器端api socket.io
为什么我们需要把Javascript nodejs中的socket.on内部socket.on服务器端api socket.io,javascript,node.js,sockets,Javascript,Node.js,Sockets,为什么我们需要把socket.on放在socket.on里面?这代表什么?还有其他的写作方法吗 这是nodejs中server.js的代码 var objExpress = require('express')() var objHttp = require('http').createServer(objExpress) var objSocketIO = require('socket.io')(objHttp) objExpress.get('/', (request, result)
socket.on
放在socket.on
里面?这代表什么?还有其他的写作方法吗
这是nodejs中server.js的代码
var objExpress = require('express')()
var objHttp = require('http').createServer(objExpress)
var objSocketIO = require('socket.io')(objHttp)
objExpress.get('/', (request, result) => result.send('hello'))
objSocketIO.on('connection', (argSocket) => {
console.log('A user connected!');
argSocket.on('message', (argMsg) => {
console.log(argMsg);
argSocket.broadcast.emit('message-broadcast-xyz', argMsg)
})
})
objHttp.listen(3000, () => {
console.log("Listening on port 3000")
})
其中:
objSocketIO.on('connection', argSocket => {
// here's where you know the socket for a newly connected socket
});
是您收到新连接的套接字通知的唯一位置。如果您想在新连接的套接字上侦听事件,那么这里就是安装这些事件侦听器的地方
objSocketIO.on('connection', argSocket => {
// here's where you know the socket for a newly connected socket
// and where you can install event listeners on that newly connected socket
argSocket.on('message', (argMsg) => {
// here's where you get a message on that connected socket
// from the previously installed event handler
argSocket.broadcast.emit('message-broadcast-xyz', argMsg)
});
});
为什么我们要把插座放在里面的插座上
这就是事件驱动编程的工作原理。您可以通过安装eventListener来侦听事件。在本例中,当您从服务器获取一个新套接字已连接的事件时,您可以在该新套接字上安装事件侦听器,以便从中获取事件
还有其他的写作方法吗
可以想出其他方法,但他们必须在幕后做类似的事情,因为监听事件是您在node.js中使用服务器和套接字编程的方式。这是否回答了您的问题
objSocketIO
是库的主要实例。当检测到一个新的套接字连接时,它的连接
事件触发,套接字实例被传递;内部事件监听器连接到套接字的消息
事件(换句话说:假前提,你没有socket.on inside socket.on)@AdamAzad我认为这个问题在任何意义上都不是这个问题的重复