本文介绍: 1)本节主要是介绍在 ESP32 上实现 WebSocket 服务器。相比 HTTP 协议,WebSocket 通信协议除了可以双向通信、并且向多个客户端同时发送通知信息外,还可以提供持久连接,并且由于没有为每个请求重新建立连接的开销,因此延迟较低。
ESP32-Web-Server编程– WebSocket 编程
概述
在前述 ESP32-Web-Server 实战编程-通过网页控制设备的 GPIO 中,我们创建了一个基于 HTTP 协议的 ESP32 Web 服务器,每当浏览器向 Web 服务器发送请求,我们将 HTML/CSS 文件提供给浏览器。
使用 HTTP 服务器库的缺点是,**如果多个客户端连接到 Web 服务器,当 A 浏览器改变了网页的内容(比如点餐系统),它不会自动更新网页上的内容到所有客户端B、C。我们可以通过使用 WebSocket 通信协议来解决此问题。**例如,如果多个客户端连接到 Web 服务器,并且任何一个客户端更改了设备的 GPIO 引脚的状态,则它将自动向所有连接的客户端通知该更改状态。
相比 HTTP 协议,WebSocket 通信协议除了可以双向通信、并且向多个客户端同时发送通知信息外,还可以提供持久连接,并且由于没有为每个请求重新建立连接的开销,因此延迟较低。
需求及功能解析
本节演示如何在 ESP32 上实现一个WebSocket 服务器。示例仍旧以在网页控制一个 GPIO 为例子。
示例解析
前端代码
后端代码
通过 HTTP 建立 wrbsocket 握手
WebSocket 接收客户端的数据
WebSocket 发送方函数
示例效果
讨论
总结
资源链接
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。