| | |
| | | private const val BCC_BYTES = 2//校验码长度 |
| | | const val BASE_LENGTH = HEAD_BYTES + LENGTH_BYTES + BCC_BYTES |
| | | const val HEAD1 = 0x01.toByte() |
| | | const val HEAD2 = 0x05.toByte() |
| | | } |
| | | |
| | | override fun decode(p0: ChannelHandlerContext?, p1: ByteBuf?, p2: MutableList<Any>?) { |
| | |
| | | // 读到了协议的开始标志,结束while循环 |
| | | val b = ByteArray(2) |
| | | it.readBytes(b) |
| | | if (b[0] == HEAD1 && b[1] == HEAD2) { |
| | | if (b[0] == HEAD1) { |
| | | dataList.add(b[0]) |
| | | dataList.add(b[1]) |
| | | break |
| | |
| | | } |
| | | } |
| | | |
| | | ByteArray(1).apply { |
| | | it.readBytes(this) |
| | | }.forEach {b -> |
| | | dataList.add(b) |
| | | } |
| | | // ByteArray(1).apply { |
| | | // it.readBytes(this) |
| | | // }.forEach {b -> |
| | | // dataList.add(b) |
| | | // } |
| | | |
| | | //数据单元的长度 |
| | | val length = getDataUnitLength(it, dataList) |