private byte[] BuildPacket(RcvType rcvType, byte[] rcvbytes) { if (rcvType == RcvType.MQTT_CON) { byte[] con_ack = new byte[] { 0x20, 0x02, 0x00, 0x00 }; return(con_ack); } if (rcvType == RcvType.MQTT_SUB) { byte[] sub_ack = new byte[] { 0x90, 0x03, 0x00, 0x03, 0x00 }; sub_ack[2] = rcvbytes[2]; sub_ack[3] = rcvbytes[3]; return(sub_ack); } return(new byte[] { }); }
// 受信したパケットに応じて、応答パケット(送信パケット)を構築する public void Proc(byte[] rcvbytes, out byte[] sndbytes) { RcvType rcvType = JudgeType(rcvbytes); sndbytes = BuildPacket(rcvType, rcvbytes); }