乐鑫技术交流
直播中

李林

7年用户 1234经验值
私信 关注
[问答]

如何将数据从ESP8266实时“实时”发送到客户端?

我尝试构建一个系统,通过 ESP8266WebServer 方法从 ESP8266 向网页发送数据,例如简单的开/关状态。
在 ESP8266 端,我有一个名为“handleUpdateData”的函数,我在服务器处理程序声明中使用了这个声明
代码:全选server->on(\"/updatedata\", handleUpdateData);

当我得到一些我要检查的状态变化时异步调用。
在“handleUpdateData”函数中,我使用数据流语法构建了带有“page”变量的 JSON 字符串
代码:全选id: 12345
data: { \"code\": \"123\",
data: \"status\": \"xxxx\" }

并通过这条指令发送
代码:全选server->send(200, \"text/event-stream\", page);

在网页端,我首先在 javascript 中有这个声明
代码:全选var eventSource = new EventSource(\"/updatedata\");

之后与
代码:全选eventSource.onmessage = function(e) {
  debug(\"onmessage: \"+e.data);
}


或(无差异)
代码:全选eventSource.addEventListener(\"message\", function(e) {
  debug(\"received message: \"+e.data);
}

在这两种情况下,我每 5 秒定期接收一次数据。
怎么了?

更多回帖

发帖
×
20
完善资料,
赚取积分