经过2天的密集训练后,我无法弄清楚我的代码出了什么问题。
var nsp = io.of(`/notifications`)
nsp.on('connection', socket => {
socket.join(`notifications/5bbbaf0dff233bc36eaea535`)
setTimeout(() => {
nsp.to(`notifications/5bbbaf0dff233bc36eaea535`)
.clients((error, data) => {
console.log(data)
})
}, 10000)
})
我在这里得到我的客户
app.post('/api/addtomyshoppingbag', (req, res) => {
nsp.to(`notifications/5bbbaf0dff233bc36eaea535`).clients((error, data) => {
console.log("Clients", data)
})
})
这里的客户是空的,我没有断开连接...
我这样连接客户端
const socket = socketIOClient(`${process.env.REACT_APP_URI}/notifications`, {
query: { userId: this.props.userId },
reconnection: true,
reconnectionDelay: 1000,
reconnectionAttempts: Infinity,
transports: ['websocket']
})
谢谢
更新
想通了!
是因为集群...
或者不要使用群集或使用粘性负载均衡器。