ESP-CoAP 服务器调用资源处理程序而不接收包
ESP-CoAP server calls resource handler without receiving packages
我实现了一个 coap 服务器:
#include <coap_server.h>
coapServer coap;
void getListOfWiFi(coapPacket *packet, IPAddress ip, int port, int obs) //id = 0 GET
{
Serial.println("hello");
int numberOfNetworks = WiFi.scanNetworks();
String WifiList = "";
for (int i = 0; i < numberOfNetworks - 1; i++)
{
WifiList += WiFi.SSID(i) + "####";
}
WifiList += WiFi.SSID(numberOfNetworks - 1);
char *temp = new char[WifiList.length() + 1];
WifiList.toCharArray(temp, WifiList.length() + 1);
coap.sendResponse(ip, port, temp);
Serial.println("goodbye");
}
void setup()
{
coap.server(getListOfWiFi, "wifilist");
coap.start(5683);
}
void loop()
{
coap.loop();
}
当启动esp时,串口监视器的输出是:
hello
goodbye
hello
goodbye
hello
goodbye
hello
goodbye
hello
goodbye
hello
goodbye
并且它在没有任何接收数据包或请求的情况下继续打印...
为什么会这样?
谢谢
我正在使用这个 coap 库:
https://github.com/automote/ESP-CoAP esp8266
ip和端口的输出是:
(IP unset)
port :
0
看起来这个特定的 CoAP 库在内部 regularly polling 是第一个注册的资源,用于更改最后收到的 CoAP 消息,无论何时收到任何包,都可能检测是否要发送观察。
您可能想与库的作者讨论这个问题,当它被调用时它看起来像是库中的一个错误。
我实现了一个 coap 服务器:
#include <coap_server.h>
coapServer coap;
void getListOfWiFi(coapPacket *packet, IPAddress ip, int port, int obs) //id = 0 GET
{
Serial.println("hello");
int numberOfNetworks = WiFi.scanNetworks();
String WifiList = "";
for (int i = 0; i < numberOfNetworks - 1; i++)
{
WifiList += WiFi.SSID(i) + "####";
}
WifiList += WiFi.SSID(numberOfNetworks - 1);
char *temp = new char[WifiList.length() + 1];
WifiList.toCharArray(temp, WifiList.length() + 1);
coap.sendResponse(ip, port, temp);
Serial.println("goodbye");
}
void setup()
{
coap.server(getListOfWiFi, "wifilist");
coap.start(5683);
}
void loop()
{
coap.loop();
}
当启动esp时,串口监视器的输出是:
hello
goodbye
hello
goodbye
hello
goodbye
hello
goodbye
hello
goodbye
hello
goodbye
并且它在没有任何接收数据包或请求的情况下继续打印... 为什么会这样? 谢谢
我正在使用这个 coap 库:
https://github.com/automote/ESP-CoAP esp8266
ip和端口的输出是:
(IP unset)
port :
0
看起来这个特定的 CoAP 库在内部 regularly polling 是第一个注册的资源,用于更改最后收到的 CoAP 消息,无论何时收到任何包,都可能检测是否要发送观察。
您可能想与库的作者讨论这个问题,当它被调用时它看起来像是库中的一个错误。