0

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

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

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

重现步骤:

  1. 安装 mean.js:
    npm install -g generator-meanjs
    yo meanjs

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

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

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

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

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

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

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

请问,谁能发现我做错了什么?

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

4

1 回答 1

1

本教程是集成 Socket.IO 并使用基础 MEAN.JS 项目的一种非常简单的方法。希望这可以帮助。

于 2015-02-18T12:37:47.260 回答