ESP8266 – ESP8266WebServer库 – sendContent

位置导航: ESP8266库 / ESP8266WebServer库 / 本页

说明

在ESP8266开发板所建立的物联网服务器在运行过程中,如果有客户端向ESP8266服务器发送HTTP请求,ESP8266服务器将会对客户端发送响应信息。本函数可用于向ESP8266服务器响应体中添加自定义信息。

请留意:可以实现此功能的函数共有三个。一个是sendContent,一个是sendContent_P,还有一个是streamFile。这三个函数虽然功能相同,但是他们所发送的信息存储位置有很大区别。

sendContent: sendContent函数所发送的信息通常是程序中的一个字符串。该函数的优点是直接调用程序内字符串,这个操作比起两外两种方法来说更加简单直接。但是其缺点是,由于存储发送信息的字符串是在程序中的,这会占用开发板的动态内存空间。因此,使用sendContent函数时,发送信息的大小受到了限制。

sendContent_P:当我们使用sendContent_P时,发送的响应信息必须存储在程序存储空间。这一特点大大优化了程序内存占用。因此sendContent_P对于我们在发送较大的响应信息时非常有帮助。但是sendContent_P的信息仍是写在程序中,如果发送的信息需要分为多个文件存储,使用sendContent_P函数是无法胜任的。

streamFile:使用streamFile函数来发送响应信息是最推荐的操作方法。因为streamFile利用了ESP8266开发板的闪存文件系统来存储发送的信息内容。可以说streamFile函数既可以节省程序内存空间,又允许我们将需要发送的信息分为多个文件进行保存。但是使用streamFile时需要我们使用Arduino IDE的闪存文件上传工具预先将文件上传到闪存中。这一操作可能有些朋友不甚了解。不过您可以通过《零基础入门学用物联网》免费视频教程中的“闪存文件系统”部分,了解具体操作方法。

语法

sendContent(content)

参数

content – 响应体信息,可使用字符串格式。

返回值

示例程序

当您将WiFi连接信息修改后并且将本示例程序上传ESP8266开发板后,开发板随即会自动连接WiFi。WiFi连接成功后,您将可以从串口监视器获取当前ESP8266开发板的IP。

为了演示本实例程序的运行结果,我在这里使用基于Chrome内核的Microsoft Edge浏览器来进行示例程序操作演示。

如下图所示,首先请打开Microsoft Edge浏览器。并根据下图中的红色箭头指示一步步打开浏览器的“开发者工具”(Developer Tools)。该工具也可以使用快捷键”Ctrl+Shift+i”打开。

esp8266-sendHeader-example-result-1
esp8266-sendHeader-example-result-1

假设您的ESP8266开发板IP地址为192.168.0.106,那么请如下图所示将ESP8266的IP地址输入浏览器地址栏中。

esp8266-sendHeader-example-result
esp8266-sendHeader-example-result

输入IP地址后,接下来请按下回车。如下图中箭头所示,请点击“开发者工具”中的Network选项卡, 然后点击ESP8266的IP地址,再点击Response选项卡,即可在右侧的响应体信息中看到“sendContent_test_OK”(下图星标所示)。此信息正是通过以下示例程序中的语句server.sendContent("sendContent_test_OK")实现的。

esp8266-sendContent-example-result
esp8266-sendContent-example-result

相关内容

send – 发送响应信息
sendHeader – 发送响应头
sendContent_P – 发送响应信息
setContentLength – 设置响应体长度
streamFile – 发送响应体信息

位置导航: ESP8266库 / ESP8266WebServer库 / 本页