当前位置: 首页 > 知识库问答 >
问题:

socket.io http请求后帧头无效

马新觉
2023-03-14

我有一个nodejs express Rest API,我想添加websocket支持。我将这个样板用于api部分,并添加了这个库和socket.io以便在同一个项目中使用websockets(我不确定这是否重要)。

我的websockets在没有Rest API的情况下按预期工作,但是一旦我向API发出http请求,到websocket的连接就会失败,出现以下错误:

到“ws://localhost:3000/socket.io/?eio=3&transport=WebSocket”的WebSocket连接失败:帧标头无效

编辑:这是我连接到WebSockets的方式。

const rooms = io.connect(
    'http://localhost:3000/rooms',
    { transports: ['websocket'] }
);

共有1个答案

龙永思
2023-03-14

我通过将堆栈切换到NestJS来解决这个问题。问题可能是因为websocket和rest api都在同一个端口上运行

 类似资料:
  • 路由::资源('get-users','api\UserController@get_users'); 路由::资源('寄存器','api\UserController@register'); 我的API给我的响应我检查了它使用POSTMAN但Android开发人员问我,他应该在我的API的头发送什么。我不明白如何创建一个头我使用laravel和我写的控制器功能。

  • 编辑:这可能是CORS的问题,我在本地主机上。。。 在Javascript中,我可以设置请求头,获取并返回如下响应: 问题: 我想学习VueJs,并想用VueJs Axios复制这个,但是我很困惑如何设置请求标题,因为我在上面的JS中。 以下是我失败的尝试: 如何像在上面的JS中那样专门设置请求头。我想学习如何在Vue/Axios中实现以下功能。 谢谢。

  • 如何在JAX-RS中实现WriterInterceptor接口时访问请求头? 完整的代码如下:

  • Spring MVC提供了许多方式来配置"Cache-Control"请求头,支持在许多场景下使用它。关于该请求头完整详尽的所有用法,你可以参考RFC 7234的第5.2.2小节,这里我们只讲解最常用的几种用法。 Spring MVC的许多API中都使用了这样的惯例配置:setCachePeriod(int seconds),若返回值为: -1,则框架不会生成一个'Cache-Control'缓存

  • 问题内容: 我正在使用$ resource并缓存get请求的结果。我的问题是,在发布请求后,缓存不会失效。 这是服务的返回值: 这是我在控制器内部使用的保存方法。如您所见,我正在对post请求使用回调,以重新计算名词的查询/列表。 我想在调用post或其他非get方法后使缓存无效。我该怎么办?这是否已经内置在$ resource中,还是我需要自己实现? 问题答案: 您可以创建包装器服务以根据需要进

  • 我们无法在请求标头中看到。似乎不是服务器问题。它主要来自客户端/浏览器。 请求标头 http://jsfidle.net/ddtxra/60wme3pf/ 是虫子吗?