同步操作将从 £筆走龍虵/IOTGate 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
window笔记本电脑本地测试:单网关、单前置节点,每秒处理并发心跳6000+(根据jmeter本地最新压测统计数据),20W在线终端内存占用量1G左右
终端设备超过300秒与网关无任何数据传输,则网关主动关闭当前通道,并清理缓存
Entrance.java
https://blog.csdn.net/sinat_28771747/article/category/8788959
参数 | 是否必选 | 是否含参 | 含义 |
---|---|---|---|
-n | 是 | 是 | 网关编号 |
-c | 否 | 否 | 启动集群模式 |
-z | 否 | 是 | zookeeper集群地址 |
-m | 否 | 是 | 前置ip地址(不含端口,前置默认8888) |
-f | 是 | 是 | 配置文件"iotGate.conf"的本地全路径 |
自行将项目打成jar包,在linux下,执行java -jar iotGate.jar -n 1 [args...] 默认前置端口为8888,可自行源码中修改
网关报头,是网关与前置通信时,作为网关登录和传输真实报文时携带网关自身和终端响应参数的报文,报文结构是自己定义,前置按照定义好的报文格式获取数据并做相应处理。 网关头结构如下:
报文属性 | 字节数 | 含义 |
---|---|---|
A8 | 1byte | 报文头 |
len | 2byte | 长度域:真实报文长度,包含“68”,“16” |
type | 1byte | 报头类型 |
protocolType | 1byte | 协议类型(左侧起第一个bit为0 表示IPV4, 1表示IPV6 剩余7个bit表示规约类型编号) |
gateNum | 1byte | 网关编号 |
00*12 | 12byte | 如果ip格式为IPV4,则当前为12字节0,反之,当前得12个byte+后续得4byte存放IPV6的值,存放顺序从左至右依次 |
clientIP | 4byte | 终端的IP地址,ip地址的每个段位占一个字节(不含符号和端口号) |
port | 2byte | 终端对应的端口号 |
count | 4byte | 终端与网关建立连接时对应的连接序号(1-10000循环) |
网关发送需要向前置发送登录报文,将自己注册到前置服务中,报文说明如下:
*“真实报文”即终端与网关通信时传输数据的报文,规约不同则报文结构差异明显
报文属性 | 字节数 | 含义 |
---|---|---|
68 | 1byte | 报头 |
len | 2byte | 长度域 "传输帧中除起始字符68和结束字符16之外的帧字节总数,包含长度域本身字节数" |
data | n byte | 报文内容 |
16 | 1byte | 报尾 |
报文属性 | 字节数 | 含义 |
---|---|---|
len | 4byte | 长度域值为data的字节数,不包含自身字节数 |
data | n byte | 报文内容 |
物联网虽然火起来,但目前业内还没有比较统一的通讯规约,MQTT是目前业界使用比较广泛的物联网通讯协议了,我看了下阿里最近弄出来的物联网平台其主要也是支持MQTT物联网设备的接入,但他毕竟不是唯一的通讯规约,光我自己知道的通讯都有好几种了,而且每一种规约的报文格式都各不相同,因此,所谓多规约支持,也不可能做到所有物联网规约全支持,我目前的想法是,通过多规约得基础功能和高级功能可以将比较流行物联网规约都能够支持! 那么IOTGate如何配置实现多规约支持呢? 请看博客:https://blog.csdn.net/sinat_28771747/article/details/88783309
注:GATE CLIENT(项目名称“IOTGateConsole”,项目地址:https://gitee.com/willbeahero/IOTGateConsole ) 是一个web工程,用户登录之后可以查看当前GATE CLUSTER的运行状态监控,并可执行网关重启、关闭、启动,网关多规约支持策略等操作:
更多关于IOTGateConsole的说明请到博客中查看
项目相关文档我会全部写在我自己的博客里面,请大家参阅!谢谢大家的支持!!欢迎大家提供真实的使用案例
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。