首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无效帧标头

无效帧标头
EN

Stack Overflow用户
提问于 2017-04-20 17:55:01
回答 6查看 22.3K关注 0票数 7

我正在尝试做一个实时的应用程序。我使用NodeJS作为服务器和Socket.IO来实现我的实时功能。

问题是,我收到了错误,因为:

代码语言:javascript
运行
复制
 WebSocket connection to 'wss://localhost:1234/socket.io/?EIO=3&transport=websocket' failed: Invalid frame header

我尝试了很多事情,比如将https更改为http、降低Socket.IO版本等等,但是对我来说没有什么效果。请帮我找出问题的原因,以便我能找出我的应用程序中的错误。我不想去看其他彗星协议。

EN

Stack Overflow用户

发布于 2022-06-30 07:41:44

我遇到的问题是,当我使用create app和"npm运行启动“运行它时,在开发过程中获得实时刷新本地版本,默认情况下使用带有/ws路径的websocket。这与我的应用程序也在使用这条路径相冲突。因此,当您将setupProxy.js与http中间件一起使用时,它将两者都转发到api服务器,这将导致无效的帧头。

解决方案是在web应用程序中,将websocket路由改为其他类似于/websocket的路由,在setupProxy.js中这样设置:

代码语言:javascript
运行
复制
const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
    app.use(
        // Do not use `/ws` as it conflicts with create-react-app's hotrefresh socket.
        createProxyMiddleware('/websocket', {
            target: 'http://localhost:3000',
            ws: true,
            changeOrigin: true,
        })
    );
};
票数 1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43526607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档