代码之家  ›  专栏  ›  技术社区  ›  Masa

当您使用coap回答get请求时,如何发送号码

  •  0
  • Masa  · 技术社区  · 9 年前

    我已经阅读了rfc 7252一段时间了,我可能是瞎子,但我不知道当你回答一个获取资源的请求(例如,传感器/灯,你在包中写在哪里)时,如何发送一个简单的数字(整数或浮点)。

    我想它在有效载荷中,所以我尝试发送这个数据包: 选项内容格式text/plain,字符集=utf-8,长度1 然后我在数据包中写入255(0xff) 则我将0x34写入数据包(有效载荷部分)。

    但很明显,它不起作用,首先我不认为我应该使用这个选项(可能是另一个选项,但我找不到一个好的选项来发送整数或浮点数),但我不确定我是否正确,也不确定我在做什么,所以我才这么问。

    谢谢你的帮助,

    再见

    编辑:以下是更多信息: 我在arduino上使用microcap,在计算机/arduino mega 2560之间使用以太网电缆。 wireshark info

    1 回复  |  直到 9 年前
        1
  •  1
  •   Preston    9 年前

    在查看了您的Wireshark跟踪并查看了Copper中的响应后,我认为我看到了问题。当你说 Content-format text/plain 你是说你正在发送ASCII数据。你说你发送 [0xFF 0x34] 在您的帖子中,但在您实际发送的跟踪中 [0xFF 0x33] 。Copper向您显示了您发送的确切内容:0xFF在这里不能解析为ASCII,0x33是 3 ,这将显示在Wireshark跟踪和Copper输出窗口中。如果您想发送2个不应被解释为文本的原始数据字节,则需要设置 内容格式 成为 application/octet-stream .