我正在尝试在 angular 2 中添加 socket.io-client。
我已经安装了模块和所有可能超过我需要的类型:
npm install @types/socket.io --save-dev
npm install @types/socket.io-client --save-dev
typings install dt~socket.io-client --save --global
typings install dt~socket.io --save --global
我尝试在我的组件中尝试两种不同的方式导入它:
import * as io from "socket.io-client";
//declare var io:any;
但是,我的浏览器中仍然出现此错误:
http://localhost:4200/socket.io/?EIO=3&transport=polling&t=LeKQjxc 404 (Not Found)
对我来说同样的问题,我目前正在尝试从wss://echo.websocket.org连接到测试套接字,但会自动添加 /socket.io/ 导致 404 响应
任何更新? 我在尝试将 socket.io 集成到我们的应用程序中时遇到了同样的问题。 使用 Angular CLI,安装类型,并将它们包含在tsconfig.app.json
,但我仍然遇到相同的 404 错误。 似乎它适用于其他所有人,但不适用于我们!
你能提供服务器的配置吗?
@darrachequesne嗨! 是的,第二天我检查了服务器配置后它起作用了。 就我而言,这是一个非常愚蠢的疏忽……抱歉,遇到了这个问题! 虽然不确定上面的其他人。 再次感谢!
@crebuh您将无法连接到wss://echo.websocket.org
,因为 socket.io 不是 Websocket 实现(它使用 Websocket 作为可能的传输)。
@AhadCove你能提供服务器的配置吗?
@darrachequesne我们的问题是我们必须添加这个位置的 nginx 配置
location ~/(socket\.io).*$ {
proxy_pass http://127.0.0.1:6005;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
然后它起作用了:)
@crebuh很棒! 我想我们现在可以关闭这个问题,如果需要请重新打开。
最有用的评论
@darrachequesne我们的问题是我们必须添加这个位置的 nginx 配置
location ~/(socket\.io).*$ { proxy_pass http://127.0.0.1:6005; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }
然后它起作用了:)