我想与我的socket.io" hooks"保持一致。我在下面使用这种格式非常一致,并且它似乎没有陷入无限循环。
// inside my nodejs app
socket.on('foo', function (data) {
socket.emit('foo');
});
当从客户端触发挂钩时它只运行一次,因此它似乎是安全的。但为什么它不会在服务器端进入无限循环?这是偶然还是设计?
答案 0 :(得分:0)
这种行为是设计上的,不是巧合或意外
服务器套接字从客户端接收消息 foo事件上的client.socket.emit('foo',aMessage)
socket.on('foo', function (data) {
//then server emit a message to connected clients
//not to server this is why not go through an infinite loop
socket.emit('foo');
});
然后'客户'从服务器接收消息
chat.socket.on('foo', function(data){
console.log('got new message from server...',data)
})