我对 Node.js 还是很陌生,目前在让 mean.js + socket.io 正常工作时遇到问题。
简而言之,客户端不会收到on('connection',...)
处理程序中发出的事件,但会收到其他事件。
为了演示我的问题,我在一个基础 mean.js 应用程序上复制了它。
重现步骤:
安装 mean.js:
npm install -g generator-meanjs
yo meanjs用这个替换 server.js https://gist.github.com/Nihaux/c02d61f6572d6531b60c (setup socket.io)
用这个https://gist.github.com/Nihaux/05041ff4a33f0f5c7508替换 app/views/layout.server.view.hmtl (启动套接字 io 并添加一个链接以发送事件)
config/express.js 中的可选注释第 67 行以禁用快速记录器(噪音太大)。
运行 DEBUG=socket* node server.js
使用 google-chrome,打开调试栏,在网络选项卡上,websocket 过滤器
转到本地主机:3000。websocket 应该出现:在框架选项卡上我有 5
3probe
2probe
=> 我应该收到一个“你好”的消息在页面底部滚动并
在刷新框架选项卡后单击“测试我”(通过单击另一个选项卡然后返回框架选项卡)我可以看到:
42[“test:received”,{“data”:“test "}] ==> 服务器发回给我的消息
42["test"] ==> 我发送的消息
5
3probe
2probe
请问,谁能发现我做错了什么?
编辑:实际上客户端确实收到了该事件,但 google-chrome 并未在框架面板上显示它。