8266接收tcp数据包并存储到数组的代码
时间: 2023-06-17 15:07:02 浏览: 73
下面是一个简单的 ESP8266 接收 TCP 数据包并存储到数组的示例代码:
```c++
#include <ESP8266WiFi.h>
const char* ssid = "your_SSID"; // 你的 Wi-Fi 名称
const char* password = "your_PASSWORD"; // 你的 Wi-Fi 密码
WiFiServer server(80); // 创建一个 TCP 服务器
void setup() {
Serial.begin(9600);
delay(10);
// 连接 Wi-Fi 网络
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// 启动 TCP 服务器
server.begin();
Serial.println("Server started");
}
void loop() {
// 等待客户端连接
WiFiClient client = server.available();
if (!client) {
return;
}
// 读取客户端发来的数据
Serial.println("New client");
while (!client.available()) {
delay(1);
}
// 存储数据到数组
byte data[1024];
int i = 0;
while (client.available()) {
data[i] = client.read();
i++;
}
// 打印数据
Serial.print("Received data: ");
for (int j = 0; j < i; j++) {
Serial.print(data[j]);
}
// 关闭连接
client.stop();
Serial.println("\nClient disconnected");
}
```
在上面的代码中,我们创建了一个 TCP 服务器并等待客户端连接。一旦有客户端连接,我们就读取客户端发来的数据,并将其存储到名为 `data` 的 byte 数组中。最后,我们打印出存储在数组中的数据,并关闭连接。