private void toolStripButton1_Click(object sender, EventArgs e) { MemoryStream m = new MemoryStream(); for (long i = 0; i < hb1.ByteProvider.Length; i++) { m.WriteByte(hb1.ByteProvider.ReadByte(i)); } byte[] payload = m.ToArray(); foreach (ClientInfo client in Global.clients) { QPacket q = new QPacket(); q.m_oSourceVPort = new QPacket.VPort(0x31); q.m_oDestinationVPort = new QPacket.VPort(0x3f); q.type = QPacket.PACKETTYPE.DATA; q.flags = new List <QPacket.PACKETFLAG>(); q.payload = new byte[0]; q.uiSeqId = (ushort)(++client.seqCounter); q.m_bySessionID = client.sessionID; RMCP rmc = new RMCP(); rmc.proto = (RMCP.PROTOCOL)protoIDs[toolStripComboBox1.SelectedIndex]; rmc.methodID = Convert.ToUInt32(toolStripTextBox1.Text); rmc.callID = ++client.callCounterRMC; RMCPCustom reply = new RMCPCustom(); reply.buffer = payload; RMC.SendRequestPacket(client.udp, q, rmc, client, reply, true, 0); } }
private string GetRMCDetails(QPacket q) { RMCP p = new RMCP(q); MemoryStream m = new MemoryStream(q.payload); m.Seek(p._afterProtocolOffset, 0); if (m.ReadByte() == 1) { return(p.proto + " " + Helper.ReadU32(m).ToString("X")); } else { return(p.proto + " fail"); } }