首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Socket.io发射循环

Socket.io发射循环
EN

Stack Overflow用户
提问于 2016-12-23 00:01:35
回答 1查看 1.9K关注 0票数 1

我想和我的socket.io“钩子”保持一致。我在下面非常一致地使用这种格式,而且它似乎不会落入无限循环。

代码语言:javascript
复制
// inside my nodejs app
socket.on('foo', function (data) { 
    socket.emit('foo'); 
}); 

当从客户端触发钩子时,它只运行一次,因此它看起来是安全的。但是,为什么服务器端不进行无限循环呢?这是偶然的还是故意的?

EN

Stack Overflow用户

回答已采纳

发布于 2016-12-23 17:48:22

这种行为是故意的,不是巧合,也不是偶然。

  • client:使用方法向服务器发送消息
  • 服务器:使用事件处理程序从客户端接收消息
  • 服务器:使用方法向客户端发送消息
  • client:使用事件处理程序从服务器接收消息

服务器套接字在foo事件上从客户端client.socket.emit('foo',aMessage)接收消息

代码语言:javascript
复制
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');
});

然后“客户”从服务器接收消息。

代码语言:javascript
复制
chat.socket.on('foo', function(data){
    console.log('got new message from server...',data)
})
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41293418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档