Appearance
部署TCP工具
TCP/IP协议广泛应用于物联网通信。本工具将创建TCP服务器,并连接会众云平台
及第三方软硬件平台
,实现两个平台相互之间的通信
1.创建配置文件
特别说明
注意:务必使用正确的json格式,否则服务无法启动!
创建配置文件:tcp.json
bash
# 创建文件
mkdir /etc/hzy
cd /etc/hzy
vim tcp.json
文件内容示例
特别说明
这里是示例参数!请替换为真实的参数,并检查JSON格式是否正确
这里是示例参数!请替换为真实的参数,并检查JSON格式是否正确
这里是示例参数!请替换为真实的参数,并检查JSON格式是否正确
json
{
"WEBHOOK": "https://apaas-data.ysyoungth.com/00001_api/webhook/gmhVlMLd9U05S-gmhWKl5SNs0X1-1",
"TCP_PORT": 1600,
"HTTP_PORT": 80,
"WHITE_IPS": [],
"MAX_CONNECTION_NUM": 2048
}
参数说明
特别说明
创建webhook
触发工作流时,json参数
结构固定如下:
bash
{
"uniqueId": "3ae05e6ba4782017a4185f1cd0261b77",
"content": "xxxxxx"
}
- uniqueId: tcp连接的唯一ID(当需要向设备发送消息时需要当前ID)
- content: 接受到的设备数据(可以是任何数据结构,例如:文本、对象)
bash
# 参数说明
WEBHOOK # 【必填】会将tcp内容转发给配置的「WEBHOOK」地址(这个地址由会众云平台的webhook工作流自动生成)
TCP_PORT # 【可选】tcp协议端口号(默认值:1600)
HTTP_PORT # 【可选】http协议端口号(默认值:80)
WHITE_IPS # 【可选】ip白名单,仅在白名单内的ip被允许访问(不配置则允许所有ip访问)
MAX_CONNECTION_NUM # 【可选】最大tcp连接数量(默认值:2048,即最大允许2048个设备连接)
2.运行TCP服务
启动服务
注意
必须使用 --network host 模式启动容器,否则无法获取到客户端ip,ip白名单无法生效
bash
docker run --privileged -e TZ=Asia/Shanghai -itd --restart always --network host -v /etc/hzy:/root/conf registry.cn-hangzhou.aliyuncs.com/hzy0code/hzy-utils:tcp.x86.1.0.0
重启服务
注意
修改了配置文件后,需要使用以下命令重启服务
[CONTAINER ID]
表示容器ID,使用docker ps
命令可以查看容器ID
示例:
bash
docker restart [CONTAINER ID]
3.主动发送请求
当需要主动发送请求给TCP服务时,可以使用以下接口
接口描述
- 方法: POST
- URL:/send_msg
- 参数
- uniqueId:tcp连接唯一ID
- message:发送的消息内容
- 返回:成功返回
success
请求示例
POST http://192.168.123.1/send_msg
json
{
"uniqueId": "3ae05e6ba4782017a4185f1cd0261b77",
"message": "test send massage"
}
5.获取所有连接的设备
当需要获取当前连接中的tcp设备有哪些时,可以使用以下接口
接口描述
- 方法: POST
- URL:/clients
- 参数
- 无
- 返回:
jason
[
{
"uniqueId": "3ae05e6ba4782017a4185f1cd0261b77",
"lastTime": 1721828172372
},
{
"uniqueId": "3ae0f1cd0261b775e6ba4782017a4185",
"lastTime": 1721828177372
}
]
请求示例
POST http://192.168.123.1/clients