- 客户端使用HTTP协议POST方向,发送数据
- Body内容可以为
application/json,也可以为text/plain,建议使用JSON格式,方便解析与统计 - tagName标记为
http-server - 在服务地址后可以追加
项目名(projectName),即http://localhost/:projectName- 例如
http://localhost/ivan,则项目名为ivan
- 例如
- 客户端使用UDP发送数据
- 服务器接收到的二进制内容均使用
UTF-8解码成文本,建议文本内容使用JSON格式,方便解析与统计 - tagName标记为
udp-server - 在UDP包前可以追加
$ + 项目名(projectName) + #,即${{projectName}}#{{内容}}- 例如
"$ivan#{\"sn\":\"0000000004\",\"iccid\":\"90000000000000000004\",\"imei\":\"900000000000004\",\"random\":\"Some bytes:0.17507057398090065\"}",则项目名为ivan
- 例如
- 客户端使用MQTT发送数据
- 服务器接收到的二进制内容均使用
UTF-8解码成文本,建议文本内容使用JSON格式,方便解析与统计 - tagName标记为
mqtt-server client id最好填sn之类的唯一标识,最终显示为contextIDusername最好填项目名之类的,最终显示为projectName
- 客户端使用TCP发送数据
- 报文内容,为
两字节报长度+报文内容- 如发送
48 65 6c 6c 6f 20 57 6f 72 6c 64,则要在前面加上长度11,即00 0b,最终为00 0b 48 65 6c 6c 6f 20 57 6f 72 6c 64
- 如发送
- 服务器接收到的二进制内容均使用
UTF-8解码成文本,建议文本内容使用JSON格式,方便解析与统计 - tagName标记为
tcp-server - 如果第一个包使用
$+项目名(projectName)+#+上下文ID(contextID)+#- 例如:
$BigProject#Ivan#,则项目名为BigProject,上下文ID为Ivan
- 例如:
上下文ID建议使用SN之类的唯一标识
- 客户端根据指定的proto文件发送数据
执行
go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.iogo build ..\go-echo-server.exego run maingo test go-echo-server/server -v
go test go-echo-server/handler -vgo test go-echo-server/server -cover
go test go-echo-server/handler -covergo test -benchmem -run=^$ -bench . go-echo-server/server