当前位置: 首页 > news >正文

LuatOS-SOC接口文档(air780E)--libcoap - coap数据处理

libcoap.new(code, uri, headers, payload)

创建一个coap数据包

参数

传入值类型

解释

int

coap的code, 例如libcoap.GET/libcoap.POST/libcoap.PUT/libcoap.DELETE

string

目标URI,必须填写, 不需要加上/开头

table

请求头,类似于http的headers,可选

string

请求体,类似于http的body,可选

返回值

返回值类型

解释

userdata

coap数据包

例子

-- 创建一个请求服务器time的数据包
local coapdata = libcoap.new(libcoap.GET, "time")
local data = coapdata:rawdata()

libcoap.parse(str)

解析coap数据包

参数

传入值类型

解释

string

coap数据包

返回值

返回值类型

解释

userdata

coap数据包,如果解析失败会返回nil

例子

-- 解析服务器传入的数据包
local coapdata = libcoap.parse(indata)
log.info("coapdata", coapdata:hcode(), coapdata:data())

coapdata:msgid()

获取coap数据包的msgid

参数

返回值

返回值类型

解释

int

coap数据包的msgid

例子

-- 解析服务器传入的数据包
local coapdata = libcoap.parse(indata)
log.info("coapdata", coapdata:msgid())

coapdata:token()

获取coap数据包的token

参数

返回值

返回值类型

解释

string

coap数据包的token

例子

-- 解析服务器传入的数据包
local coapdata = libcoap.parse(indata)
log.info("coapdata", coapdata:token())

coapdata:rawdata()

获取coap数据包的二进制数据,用于发送到服务器

参数

返回值

返回值类型

解释

string

coap数据包的二进制数据

例子

-- 解析服务器传入的数据包
local coapdata = libcoap.new(libcoap.GET, "time")
netc:send(coapdata:rawdata())

coapdata:code()

获取coap数据包的code

参数

返回值

返回值类型

解释

int

coap数据包的code

例子

-- 解析服务器传入的数据包
local coapdata = libcoap.parse(indata)
log.info("coapdata", coapdata:code())

coapdata:hcode()

获取coap数据包的http code, 比coap原始的code要友好

参数

返回值

返回值类型

解释

int

coap数据包的http code,例如200,205,404

例子

-- 解析服务器传入的数据包
local coapdata = libcoap.parse(indata)
log.info("coapdata", coapdata:hcode())

coapdata:type(t)

获取coap数据包的type, 例如libcoap.CON/NON/ACK/RST

参数

传入值类型

解释

int

新的type值,可选

返回值

返回值类型

解释

int

coap数据包的type

例子

-- 解析服务器传入的数据包
local coapdata = libcoap.parse(indata)
log.info("coapdata", coapdata:type())

coapdata:data()

获取coap数据包的data

参数

返回值

返回值类型

解释

string

coap数据包的data

例子

-- 解析服务器传入的数据包
local coapdata = libcoap.parse(indata)
log.info("coapdata", coapdata:data())
http://www.lryc.cn/news/205174.html

相关文章:

  • js控制checkbox单选,获取checkbox的值,选中checkbox
  • MYSQL(事务+锁+MVCC+SQL执行流程)理解(2)
  • ubuntu tools
  • LeetCode 155. 掷骰子等于目标和的方法数:动态规划
  • PostgreSQL数据库从入门到精通系列之五:安装时序数据库TimescaleDB的详细步骤
  • 软件测试(五)自动化 selenium
  • Android grantUriPermission的使用场景和方式
  • 2023高频前端面试题-vue
  • 03初始Docker
  • 1.1、Python基础-注释、变量声明及命名规则、数据类型
  • Python第三方库安装——使用vscode、pycharm安装Python第三方库
  • 【vue】组件通选方式
  • java 使用策略模式减少if
  • 第1章 引论
  • 深入探究Linux文件:.sh、.swp文件的作用与意义 (linux .sh.swp)
  • 优雅的使用String字符串处理各种类型转换
  • Harmony 个人中心(页面交互、跳转、导航、容器组件)
  • AlDente Pro for Mac: 掌控电池充电的终极解决方案
  • tomcat的负载均衡、动静分离(nginx联动)
  • 基于单片机的温湿度检测及远程控制系统设计
  • 前后端交互系统:在Node.js中运行JavaScript
  • Maven学习
  • 《动手学深度学习 Pytorch版》 10.2 注意力汇聚:Nadaraya-Watson 核回归
  • 测试C#调用Windows Media Player组件
  • 面试经典150题——Day20
  • [SQL开发笔记]AND OR运算符复杂表达式开发实例
  • 如何将本地 PDF 文件进行翻译
  • Node.js的readline模块 命令行交互的模块
  • 前沿重器[36] | ACL23-基于检索的大语言模型-报告阅读
  • 2023秋招笔试算法Python3题解