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

我的芯片是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个选项即可。

问题解决可用了。

相关推荐

  1. ESP32网络编程实例-WebSocket服务器广播信息

    2024-04-26 09:20:05       69 阅读
  2. ESP网络开发实例-通过WebSocket控制步进电机

    2024-04-26 09:20:05       57 阅读
  3. WebSocket

    2024-04-26 09:20:05       62 阅读
  4. websocket

    2024-04-26 09:20:05       52 阅读
  5. WebSocket

    2024-04-26 09:20:05       60 阅读
  6. <span style='color:red;'>WebSocket</span>

    WebSocket

    2024-04-26 09:20:05      44 阅读
  7. <span style='color:red;'>WebSocket</span>

    WebSocket

    2024-04-26 09:20:05      58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-26 09:20:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-26 09:20:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-26 09:20:05       82 阅读
  4. Python语言-面向对象

    2024-04-26 09:20:05       91 阅读

热门阅读

  1. npm install|certificate has expired 证书过期

    2024-04-26 09:20:05       31 阅读
  2. Kubernetes的原理及应用详解(三)

    2024-04-26 09:20:05       33 阅读
  3. AIGC技术的发展现状和未来趋势

    2024-04-26 09:20:05       27 阅读
  4. 踩坑npm install qrcodejs2和crypto-js

    2024-04-26 09:20:05       36 阅读
  5. Linux 环境下 InfiniBand 组网认知

    2024-04-26 09:20:05       27 阅读
  6. 景区文旅实景剧本杀小程序系统开发搭建

    2024-04-26 09:20:05       32 阅读
  7. Vue的SetUp函数

    2024-04-26 09:20:05       33 阅读
  8. linux环境下的MySQL UDF提权

    2024-04-26 09:20:05       33 阅读