0

我已经开始使用带有北欧 DK 的 OpenThread。我正在使用我修改的 BLE/Thread coap 示例,以便成为 FTD 而不是 MTD。此外,在我的一台设备上,CoAP 被配置为服务器。

我发现当我按下按钮 nRF52840 DK 板编程为 CoAP 服务器时,另一块板的灯发生变化,这意味着otCoapSendRequest功能起作用。

它不应该只在客户端设备上工作吗?

这是 OpenThread 函数中的一个正常错误还是只是一个小错误?

4

2 回答 2

0

我不能特别针对 OpenThread 发言,但是在 CoAP 中,除了客户端功能之外,还启用了服务器功能,而不是在客户端和服务器模式之间切换——因此即使您启用了服务器功能,客户端功能仍然可以工作也就不足为奇了。

这是因为 CoAP 被设计为在客户端和服务器之间共享大量代码。Web of Things 架构将生成的客户端-服务器节点称为“服务端”(server-clients)。

于 2019-03-14T07:55:13.847 回答
0

感谢您的回答。我深入研究了北欧代码,发现如果启用服务器模式,CoAP init 函数会创建服务。在我的代码中,我在随机选择的主设备上从服务器切换到客户端,这个切换似乎没有删除服务,我想这结合你所说的解释了我所拥有的。

于 2019-03-14T10:20:48.480 回答