【发布时间】:2014-02-10 19:53:20
【问题描述】:
是否可以仅在 socket.on('connect') 事件之外向发送者全局发送?我正在寻找可以在 app.post 方法中使用的 socket.broadcast.to().emit() 之类的东西,它不在 connect 方法中,所以我不能只使用 socket.emit
app.post('/room', function(req, res) {
io.sockets.emit('something');
});
'something' 我只想发送给 SENDER
我的代码:
socket_id;
app.post('/room', function(req, res) {
if (req.body.user == ''){
io.sockets.socket(socket_id).emit('usernameError', 'Type your username');
}
else if (users[req.body.user] !== undefined ) {
io.sockets.socket(socket_id).emit('usernameError', 'Username exists.');
}
else{
users[req.body.user] = req.body.user;
user = req.body.user;
io.sockets.emit('newUser', user+' join to the room');
res.render('room');
}
});
io.sockets.on('connection', function(socket) {
socket.username = user;
socket.join('room1');
socket.id = socket_id;
});
【问题讨论】:
-
您是否使用 AJAX 或 HTML 表单向
/room发送请求? -
我正在使用 Jade 模板:form(name="input", action='/room', method='post')
标签: node.js express socket.io emit