【发布时间】:2016-10-18 15:44:53
【问题描述】:
我有一个 express 应用程序,它打开了与我的前端 React 应用程序的套接字连接。
每当有人使用 json 数据向我的服务器发送 post 请求但 socket.emit 不会在 a.post 回调中触发时,我想向连接的套接字发出一个事件。 io.sockets.emit 但是工作正常,但在这种情况下对我没有用。
这失败了:
io.on('connection', (socket) => {
app.post('/event', (req, res) => {
socket.emit('someevent', req.body);
res.sendStatus(200);
}
}
但这通过了:
io.on('connection', (socket) => {
app.post('/event', (req, res) => {
io.sockets.emit('someevent', req.body);
res.sendStatus(200);
}
}
【问题讨论】:
-
您正在为每个套接字连接添加一个单独的后处理程序(具有相同的 URL)。只有一个路由处理程序可以运行。这不是你想做的。
标签: javascript node.js express socket.io