yy-协议
2021-08-12 18:42:46 2 举报
协议分享
作者其他创作
大纲/内容
Sesson 1
Body
非法
Edge server
0 1 2 3 4
开始
接收装置
\tFilePkg = make(map[string]chan *MsgBody)
pool
socket 2
否
封装数据
转发表
接收流数据
最后一包
MsgType
数据处理线程
结束
解析私有协议
res[3]
multi
Client
stream 1
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
clientB
socket 3
是
数据密文HMAC(32byte)
数据(变长)
SubType
Sesson 2
密钥HMAC(32byte)
Stream 1
热数据
......CommandSessionIDStreamIDTo......
发送mqtt
检查TaskType
EVENT
参数校验
文件分块
TBCP_SUB_TYPE
task
更新redis
密钥密文(113byte)
Sesson 3
file
更新mapTask
socket 2: 192.168.162.2
写redis
pMask2
写文件
type MsgTask struct { TaskType uint16 TaskName string FileMd5 string FileSize int64 State int LastModified int FilePath string BlockCount int64 FileBlocksMsg []FileBlockMsg ...... ......}type FileBlockMsg struct { BlockHash string BlockSize int64 State int `json:\"state\"` FilePath string `json:\"path\"`}
数据密文(变长)
拼接文件块
Payload Len
Session
session 2
数据包分发
Flag
stream 5
TBCP
接收数据包
< Payload Body>(变长)
接收媒体流
Streaming Media Server
校验文件
校验task
上传媒体流
数据发给文件处理线程
Header
生产task
mapTask
pMask1
Msg Len
被复用的通道
mapFile
sername(4x6)
Edge server
Payload
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
<Msg Body>(变长)
发送装置
socket 1
dwDataSize
socket 3: 192.168.162.3
启动文件处理线程
合法
Version
Session ID
上传流数据
Seq x 2
Stream 2
close socket
接收文件数据
Message Len
Recv Data
recv data
线程退出
是否解密
socket 4: 192.168.162.4
socket 1: 192.168.162.1
stream 4
<body>(变长)
通知
Head
自定义协议关键字段
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
client socket
Timestamp x 2
stream 3
TotalLen
接收完整
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
nTypeSub
调用解密接口获取明文数据
获取socket
0 1 2 3 4
FileSeq x 2
socket 5: 192.168.162.5
tcp server
Stream ID
Stream 3
nChannel
nTypeMain
TaskType:taskfiledbdataCheck主动模式空目录被动模式空目录
数据的 HASH(32byte)
clientA
stream 2
sername[24]
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
send task
区分主被动模式
Stream
上层服务
version
Message Type
session 1
0 1 2 3 4
消费task
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
<PayLoad> (变长)
发送数据
0 条评论
下一页