ESP32开发WebSocket报错TRANSPORT_WS: Sec-WebSocket-Accept not found

devtools/2024/9/25 11:09:49/

我的芯片是ESP32-S3,用ESP-IDF框架进行开发的时候,用官方的WebSocket的example创建了项目。然后把WebSocket连接uri替换为自己的服务器后,运行到esp_websocket_client_start开始连接后,直接报错:

E (10615) TRANSPORT_WS: Sec-WebSocket-Accept not found
E (10615) WEBSOCKET_CLIENT: Error transport connect

但是同样的地址,我在Postman里面,可以正常连接上。看这个报错,应该说是服务器没有返回Sec-WebSocket-Accept头信息,找不到这个。

但是,我在Postman中,看到服务器是有返回这个头的。

那就不知道是啥情况了,搞不明白。看了官方的github中,也有针对这个问题的讨论。

具体地址:(IDF Websocket client) - TRANSPORT_WS: Sec-WebSocket-Accept not found (IDFGH-11911) · Issue #12993 · espressif/esp-idf · GitHub

貌似是说,服务器端是支持ws和wss协议的,而esp32中的esp_websocket_client不支持redirects重定向,当然我的服务器也是2种协议都支持的。感觉这问题无解,如果你有解请评论区告诉我。我的解决办法是,从ws改成wss协议的。

修改后,运行却又报错了。

E (12436) esp-tls-mbedtls: No server verification option set in esp_tls_cfg_t structure. Check esp_tls API reference
E (12436) esp-tls-mbedtls: Failed to set client configurations, returned [0x8017] (ESP_ERR_MBEDTLS_SSL_SETUP_FAILED)
E (12456) esp-tls: create_ssl_handle failed
E (12456) esp-tls: Failed to open new connection
E (12466) TRANSPORT_BASE: Failed to open a new connection
E (12466) TRANSPORT_WS: Error connecting to host metamind.cn:443
E (12476) WEBSOCKET_CLIENT: Error transport connect

这个貌似是证书的问题,需要把服务器证书down下来一起烧录进去。比较麻烦。索性在配置中修改以下配置:

勾上这2个选项即可。

问题解决可用了。


http://www.ppmy.cn/devtools/16477.html

相关文章

数据分析:扩增子分析(qiime2平台全流程分析)

Amplicon sequencing analysis pipeline through qiime2 platform qiime2是扩增子数据分析的最佳平台之一,其提供了大量从原始data到统计分析的插件,尤其是它的可重复分析且可扩展插件的理念使得其成为扩增子分析首选的平台。 Platform qiime2是扩增子…

微信小程序 扩展Page页面的Mixins

前景: 在原生小程序的开发过程中,发现有很多页面使用了几乎完全一样的逻辑,例如:我们会遇到有部分功能需要登录之后才能访问,这个登录的逻辑就可以用封装成公共的逻辑,在需要的地方直接引用就可以了。 但…

PFA容量瓶耐受强酸强碱进口特氟龙材质定容瓶

PFA容量瓶,也叫特氟龙容量瓶,是用于配制标准浓度溶液的实验室器皿,是有着细长颈、梨形肚的耐强腐蚀平底塑料瓶,颈上有标线,可直接配置标准溶液和准确稀释溶液以及制备样品溶液。 因其有着不易碎、材质纯净、化学稳定性…

JAVA毕业设计136—基于Java+Springboot+Vue的房屋租赁管理系统(源代码+数据库)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的房屋租赁管理系统(源代码数据库)136 一、系统介绍 本项目前后端分离,分为管理员、用户、工作人员、房东四种角色 1、用户/房东: …

Threejs加载字体加载FontLoader与TTFLoader

在 Three.js 中使用自定义字体进行 3D 文本渲染。它最初是以 JSON 格式加载字体,现在Three.js已经有一个 TTFLoader 类,可用于加载 TTF 字体文件并将它们用作 TextGeometry ! 1、最初使用FontLoader加载json字体方法如下 const loader new…

Spring从零开始学使用系列(三)--依赖注入(DI)

目录 1.DI的核心概念 1.1优势 2. Spring中的DI实现 2.1 构造器注入 2.1.2 优势和缺点 2.2 设置器注入 2.2.1 如何使用设置器注入 2.2.2 示例代码 2.2.3优势和使用场景 2.3 字段注入 2.4 方法注入 2.4.1 方法注入的概念 2.4.2 找方法注入 2.4.3 Lookup 注解的作用 2…

C#从入门到精通:一场深入浅出的编程之旅【文末送书】

文章目录 C#从入门到精通入门篇进阶篇精通篇模式探索C#从入门到精通(第7版)(软件开发视频大讲堂)【文末送书】 C#从入门到精通 在当今数字化的时代,编程已经成为一项至关重要的技能。而在众多编程语言中,C…

sentinel-1.8.7与nacos-2.3.0实现动态规则配置、双向同步

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: sentinel-1.8.7与nacos-2.3.0实现动态规则配置、双向同步 ⏱️ 创作时…