安全隧道通信协议的数据格式与ession通信机制物联网平台

本文介绍物联网平台定义的安全隧道通信协议。

通信协议传输数据的封装方式如下图所示。

设备端和访问端均与安全隧道连接成功后,依赖安全隧道的通信协议进行设备的远程访问。设备端与访问端之间的通信、安全隧道内部的会话(Session)管理及Session内的数据通信,都基于通信协议中隧道帧实现。隧道帧为WebSocket中二进制类型数据帧的Payload。

您需在访问端应用程序和设备端目标应用中,自行设计和开发应用层通信协议,建立访问端与设备端的通信。

隧道帧包括以下两部分:

例如,Tunnel Header内容的字符串使用UTF-8编码转码成字节数组的长度为十进制的87,对应十六进制57,则高位字节为0x00,低位字节为0x57。

访问端发送创建Session的请求帧时,不需要传入该参数,物联网平台会根据收到的请求帧分配一个会话ID,并发送给设备端。其他类型的隧道帧,访问端和设备端均需要传递会话ID。

建议设备端和访问端均使用递增的帧ID,用于区分每个session_id会话中的通信数据。

设备端与访问端进行Session通信的流程图如下。

Session使用过程中,Tunnel Header中JSON数据和Tunnel Payload的配置,请参见下表。

创建Session成功时,由物联网平台生成,并发送给设备。

必须是设备端收到的对应Session创建时,物联网平台下发的session_id。

填充该Session创建时物联网平台生成的session_id。

填充该Session创建时物联网平台生成的session_id。

根据上文参数说明自定义。

必须是设备端收到的对应Session创建中的frame_id。

根据上文参数说明自定义。

根据上文参数说明自定义。

根据上文参数说明自定义。访问端指定业务类型后,设备端收到创建Session的请求时,才能根据业务类型连接到指定的设备端目标应用。

必须是设备端收到的对应Session创建中指定的service_type。

对应Session创建时指定的service_type。

参数说明,请参见下表《响应数据的payload参数说明》。

参数说明,请参见下表《关闭Session的payload参数说明》。

关注阿里云公众号或下载阿里云APP,关注云资讯,随时随地运维管控云服务

THE END
0.JSON介绍及使用方法json格式前后端数据交互:API 请求和响应通常使用JSON 格式 配置文件:许多应用程序使用 JSON 格式的配置文件 数据存储:NoSQL 数据库如 MongoDB 使用类似 JSON 的格式存储数据 跨平台通信:不同编程语言系统间的数据交换 五、JSON 的注意事项 安全性:解析来自不可信来源的 JSON 数据时要注意安全性问题 jvzquC41dnuh0lxfp0tfv87725e:3;:;68<0c{ykenk0fnyckny03=<692933
1.JSON:轻量数据交换格式详解与Java工具应用JSON在js中属于对象,但是在java中属于一个json格式的字符串。 前端中,ajax请求需要dataType:json 将后台响应的json字符串,解析成json对象,才能正常使用.所以我们在后台先将数据转换为json字符串,然后前端获取更加方便。 结论:在企业开发中前端和后端之间是利用json实现数据的交互 JSON的转换工具是通过javjvzquC41dnuh0lxfp0tfv8vsa6;75A7931gsvrhng1jfvjnnu1736><2:7;
2.Json格式详解javascript技巧JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.易于阅读和理解,也易于机器解析和生成.JSON采用独立于语言的文本格式,使用了类似于C语言家族的习惯(包括C,C++,C#,Java, JavaScript, Perl, Python等).这些特性使得JSON成为理想的数据交换语言. 一JSON构建于两种结构: "名称/值"jvzquC41yy}/lk:30pku1jwvkerf1;79589/j}r
3.JSON基础介绍与详细用法基础知识一、什么是JSON 1、JSON指的是JavaScript对象表示法(JavaScript Object Notation)。 2、JSON是轻量级的文本数据交换格式,比XML更小、更快、更易解析。 3、JSON独立于语言。 4、JSON具有自我描述性、更易理解。 注意:JSON使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台。JSON解析器和JSON库支持许多不jvzquC41yy}/lk:30pku1jwvkerf1;8;;89/j}r