VSOA 工具
VSOA 提供了代码测试和诊断工具 vcl 和 vcx,开发者可通过该工具快速测试和诊断代码。本节介绍 vcl 和 vcx 的使用方法。
使用须知
VSOA 工具可模拟为 VSOA 客户端。在 ECSM 不存在且未配置位置服务时,可直接通过 IP 地址对服务发起 vcl 或者 vcx 请求。如需配置位置服务,请参考 VSOA 位置服务配置方法。
说明:
VSOA 工具详细使用可见 C 语言编程手册。
vcl 介绍
vcl 是一个 VSOA 命令监听器,支持订阅来自特定服务器发布的所有数据。
vcl -p 1234 -d vsoa://vsoa.myserver.com/topic0
参数说明
参数 | 是否必选 | 说明 |
---|---|---|
-p | 非必选 | 服务端密码。如果没有,可不设置此参数 |
-d | 非必选 | 数据以 hex 格式显示到终端 |
vsoa:// | 必选 | URL 必须以此前缀开始, 类似于 http:// 。选择直接通过 IP 地址发送请求的情况下,此选项非必选 |
vsoa.myserver.com | 必选 | 微服务名称 |
topic0 | 非必选 | URL 标识。若不设置,则默认订阅该服务的所有发布数据 |
更多关于 vcl 命令的信息可以使用 vcl -h
来获取。
如使用 vcl 对 发布与订阅服务端 范例进行数据订阅:
vcl -p 123456 -d vsoa://axis_server/axis
# or
vcl -p 123456 -d vsoa://127.0.0.1:3007/axis
运行结果如下:
vcx 介绍
vcx 是一个使用 VSOA RPC 功能的命令执行器,支持 RPC SET/GET 调用。
RPC GET
vcx -g'{"value": 0}' -p 1234 -d 123456 -x vsoa://vsoa.myserver.com/data0
# or
vcx -g./data0.param -p 1234 -d ./data0.data -x vsoa://vsoa.myserver.com/data0
参数说明
参数 | 是否必选 | 说明 |
---|---|---|
-g | 必选 | 表示为 RPC 获取方法,其参数是可选的,作为 RPC payload 参数。 参数类型可以是 JSON 字符串或含 JSON 字符串的文件。若存在参数时,参数与 -g 中间不应有空格 |
-d | 非必选 | RPC payload 数据, 参数可以是字符串,也可以是文件 |
-x | 非必选 | 有效数据的格式是 hex |
vsoa:// | 必选 | URL 必须从这个前缀开始, 类似于 http:// 。选择直接通过 IP 地址发送请求的情况下,此选项非必选 |
vsoa.myserver.com | 必选 | 微服务名称 |
data0 | 非必选 | URL 名称。若不设置,则默认订阅该服务的所有发布数据 |
如使用 vcx 对 RPC 服务端 范例进行 RPC GET 调用,其中 data0.param 内的内容为 {"value": 0}
:
vcx -g'{"value": 0}' -p 123456 -d 123456 -x vsoa://light_server/light
vcx -g./data0.param -p 123456 -d ./data0.data -x vsoa://light_server/light
# or
vcx -g'{"value": 0}' -p 123456 -d 123456 -x vsoa://127.0.0.1:3008/light
vcx -g./data0.param -p 123456 -d ./data0.data -x vsoa://127.0.0.1:3008/light
运行结果如下:
RPC SET
vcx -s./data0.param -p 1234 -d ./data0.data vsoa://vsoa.myserver.com/data0
-s
RPC 设置方法,参数类型可以是 JSON 字符串或含 JSON 字符串的文件。参数与-s
中间不应有空格。
其他用法与 RPC GET 相同。
更多关于 vcx 命令的信息可以使用 vcx -h
来获取。
如使用 vcx 对 RPC 服务端 范例进行 RPC SET 调用,其中 data0.param 内的内容为 {"value": 1}
:
vcx -s./data0.param -p 123456 -d ./data0.data vsoa://light_server/light
# or
vcx -s./data0.param -p 123456 -d ./data0.data vsoa://127.0.0.1:3008/light
运行结果如下: