我还没有弄清楚如何使用 socket.io 直接响应发送者
我了解到 io.sockets.emit 发送给所有客户端,但我不会将信息发送回发送者。
code:
socket.on('login', function (data) {
db.users.find({username: cc.lowerCase(data.username)}, function(err, users) {
if (users.length > 0) {
users.forEach( function(user) {
console.log(user.length);
if (user.password == data.password) {
io.sockets.emit('login', { username: user.username });
} else {
io.sockets.emit('error', { message: "Wrong username or password!" });
}
});
} else {
io.sockets.emit('error', { message: "Wrong username or password!" });
}
});
});
当您的服务器侦听时,您通常会在“连接”事件中获得一个套接字:
require('socket.io').on('connect', function(socket){
套接字连接 2 个点:客户端和服务器。当您在此套接字上发出信号时,您就向该特定客户端发出信号。
例子 :
var io = require('socket.io');
io.on('connect', function(socket){
socket.on('A', function(something){
// we just received a message
// let's respond to *that* client :
socket.emit('B', somethingElse);
});
});
请注意,这是两个不同的调用:
-
socket.emit
: 只发送到一个套接字
-
io.sockets.emit
:发送到所有套接字
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)