Ali*_*cia 8 twitter stream node.js express socket.io
我使用 Socket.io 的 Twitter 流媒体应用程序在访问具有 IP 地址和端口的站点时工作正常,但在使用域名访问站点时,实时流媒体会引发错误。
尝试下面的链接,并打开开发人员工具,查看错误
遵循此格式的数百个套接字错误:
WebSocket connection to
'ws://sentiment-sweep.com/socket.io/?EIO=3&transport=websocket&sid=guBmeCqsOr22CTsWAAC0'
failed: WebSocket is closed before the connection is established.
Run Code Online (Sandbox Code Playgroud)
最初有一些上述套接字错误,但 10-15 秒后应用程序开始正常工作
几年前,我为一个大学项目制作了这个 Node 应用程序。我保持更新。它使用 Socket.io 和 Twitter API 来流式传输实时推文、计算情绪并使用 D3 直观地显示结果。我使用 NGINX 进行端口转发。
作为参考,这是我的 git 仓库:https : //github.com/Lissy93/twitter-sentiment-visualisation
最近我做了一个小的 HTML/CSS 更改,并更新了几个依赖项,这就是这个奇怪的 socket.io 问题开始的时候
io.connect();
没有参数来连接有没有人见过类似的问题?任何建议、评论或答案将不胜感激 - 非常感谢。
Ali*_*cia 10
找到了解决方案,其实很简单!在这里发布答案,以帮助面临类似问题的其他人,因为我完全被困在这个问题上 2 天!
我的问题是由依赖项更新引起的。
根据发行说明:
新的 (V 2.0.0) 主要版本带来了多项性能改进,但也隐藏在发行说明底部的是:
此版本不向后兼容,原因如下:
- 与 engine.io-parser (socketio/engine.io-parser#81) 中的 utf-8 编码相关的重大更改
- 使客户端上的套接字 id 与服务器端的 id 匹配的更新 (socketio/socket.io-client#1058)
请注意,如果您使用的是自签名证书,rejectUnauthorized 现在默认为 true (socketio/engine.io-client#558)。
这是完整的 V2 发行说明:https : //github.com/socketio/socket.io/releases/tag/2.0.0
根据文档,将您的应用程序设为 https,或签署您自己的请求。不过,作为一个快速修复,我只是降级回 socket.io V 1.7.0 并且它运行良好
归档时间: |
|
查看次数: |
26270 次 |
最近记录: |