我与Socket.IO合作制作了一个小聊天应用程序,并且当用户在收到垃圾邮件后被禁止时,我试图发出消息。
我有这个工作代码
socket.on('banned-message', function() {
console.log('ok2');
io.emit('banned-message');
});
我已在另一个工作函数中实现此代码,以便在被禁用户尝试发送聊天消息时发送禁止消息
socket.on('chat-message', function(msg) {
antiSpam.addSpam(socket);
io.emit('chat-message', socket.username, socket.picture, msg.msg);
if (typeof antiSpam.getBans()[0] !== 'undefined' && socket.ip === antiSpam.getBans()[0].ip) {
console.log('ok');
socket.on('banned-message', function() {
console.log('ok2');
io.emit('banned-message');
});
}
});
我知道可以在另一个https://github.com/socketio/socket.io-client/blob/master/test/connection.js#L231内加socket.on
但是当用户被禁止时,socket.on
内的第二个if
未被使用,它只返回我的第一个控制台日志......
这是在我的聊天中发送禁止消息的客户端代码
socket.on('banned-message', function(){
console.log('bannned send');
messagesArea.append('<section class="row msgTemplate simpleMessage"><p>banned</p></section>');
scrollBottom();
});
我不知道为什么这段代码可以单独使用,但不能用于其他socket.on
。
任何想法,解决这个问题的线索?
感谢帮助我。