我已经开始使用带有北欧 DK 的 OpenThread。我正在使用我修改的 BLE/Thread coap 示例,以便成为 FTD 而不是 MTD。此外,在我的一台设备上,CoAP 被配置为服务器。
我发现当我按下按钮 nRF52840 DK 板编程为 CoAP 服务器时,另一块板的灯发生变化,这意味着otCoapSendRequest功能起作用。
它不应该只在客户端设备上工作吗?
这是 OpenThread 函数中的一个正常错误还是只是一个小错误?
我已经开始使用带有北欧 DK 的 OpenThread。我正在使用我修改的 BLE/Thread coap 示例,以便成为 FTD 而不是 MTD。此外,在我的一台设备上,CoAP 被配置为服务器。
我发现当我按下按钮 nRF52840 DK 板编程为 CoAP 服务器时,另一块板的灯发生变化,这意味着otCoapSendRequest功能起作用。
它不应该只在客户端设备上工作吗?
这是 OpenThread 函数中的一个正常错误还是只是一个小错误?
我不能特别针对 OpenThread 发言,但是在 CoAP 中,除了客户端功能之外,还启用了服务器功能,而不是在客户端和服务器模式之间切换——因此即使您启用了服务器功能,客户端功能仍然可以工作也就不足为奇了。
这是因为 CoAP 被设计为在客户端和服务器之间共享大量代码。Web of Things 架构将生成的客户端-服务器节点称为“服务端”(server-clients)。
感谢您的回答。我深入研究了北欧代码,发现如果启用服务器模式,CoAP init 函数会创建服务。在我的代码中,我在随机选择的主设备上从服务器切换到客户端,这个切换似乎没有删除服务,我想这结合你所说的解释了我所拥有的。