socket.emit()
可以正常使用回调函数,但是socket.on()
不能调用。
socket.on('connect', () => {
socket.emit(USER_STATUS_UPDATE, { user, status: 'online' }, console.log(`*********CALL`));
socket.on(USER_STATUS_UPDATE, (userstatus) => {
console.debug("USER_STATUS_UPDATE",userstatus);
};
}
答案 0 :(得分:0)
Socket.on在其他方发出套接字消息时触发,而不是在同一方发出套接字消息时触发。
服务器:
const io = require('socket.io')(80);
io.on('connection', function(socket){
socket.emit('request', /* */); // emit an event to the socket
io.emit('broadcast', /* */); // emit an event to all connected sockets
socket.on('reply', function(){ /* */ }); // listen to the event
});
客户:
const socket = io('http://localhost/');
socket.on('connect', function () {
socket.on('request', function (msg) {
socket.emit('reply', 'hi');
});
socket.on('broadcast', function (msg) {
console.log(msg);
});
});