【问题标题】:Node.js: Socket.io+MEAN.js - can't emit right after connectionNode.js:Socket.io+MEAN.js - 连接后无法立即发出
【发布时间】:2014-11-04 12:36:21
【问题描述】:

我对 Node.js 还很陌生,我目前在让 mean.js + socket.io 正常工作时遇到问题。

简而言之,客户端不会收到on('connection',...) 处理程序中发出的事件,但会收到其他事件。

为了演示我的问题,我在一个基础 mean.js 应用程序上复制了它。

重现步骤:

  1. 安装 mean.js:
    npm install -g generator-meanjs
    你的意思是js

  2. 用这个https://gist.github.com/Nihaux/c02d61f6572d6531b60c替换server.js (设置 socket.io)

  3. 将 app/views/layout.server.view.hmtl 替换为 https://gist.github.com/Nihaux/05041ff4a33f0f5c7508(启动套接字 io 并添加链接以发送事件)

  4. config/express.js 中的可选注释第 67 行,用于禁用快速记录器(噪音太大)。

  5. 运行 DEBUG=socket* node server.js

  6. 使用 google-chrome,打开调试栏,在网络选项卡上,websocket 过滤器

  7. 转到本地主机:3000。 websocket 应该出现:在我有的框架选项卡上 5
    3探头
    2探头
    => 我应该收到一个“你好”的消息

  8. 滚动到页面底部并点击“测试我”
    刷新框架选项卡后(通过单击另一个选项卡然后返回框架选项卡)我可以看到:
    42["test:received",{"data":"test"}] ==> 服务器发回给我的消息
    42["test"] ==> 我发送的消息
    5
    3探头
    2探针

拜托,谁能发现我做错了什么?

编辑: 事实上,客户端确实收到了该事件,但 google-chrome 并没有在框架面板上显示它。

【问题讨论】:

    标签: node.js sockets express socket.io meanjs


    【解决方案1】:

    This tutorial 是一种将 Socket.IO 集成并与基础 MEAN.JS 项目一起使用的非常简单的方法。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      • 2020-02-07
      • 2011-01-12
      • 2013-08-10
      • 1970-01-01
      相关资源
      最近更新 更多