首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ESP-CoAP服务器调用资源处理程序而不接收包。

ESP-CoAP服务器调用资源处理程序而不接收包。
EN

Stack Overflow用户
提问于 2019-10-16 10:41:00
回答 1查看 86关注 0票数 0

我实现了一个coap服务器:

代码语言:javascript
复制
#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时,串行监视器的输出是:

代码语言:javascript
复制
hello
goodbye
hello
goodbye
hello
goodbye
hello
goodbye
hello
goodbye
hello
goodbye

它不停地打印这个没有任何接收包或请求..。为什么会发生这种事?谢谢。

我正在使用coap库:

https://github.com/automote/ESP-CoAP on esp8266

ip和端口的输出是:

代码语言:javascript
复制
(IP unset)
port : 
0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-16 11:37:37

看起来,这个特定的CoAP库是内部定期投票 --这是第一个注册的更改资源,无论何时接收到任何包,都可能检测是否要发送一个观察。

您可能需要向库的作者介绍这一点,当这被称为库中的一个bug时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58411397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档