private void button3_Click(object sender, EventArgs e)
        {
            Packet cp = new Packet();
            string hexString = "7c423d5858"; //data
            byte[] more_data = Packet.StringToByteArray(hexString); //data
            cp.init_CLIENT_P3(packet_cnt++, more_data);

            this.textBox1.Text = "Packet: " + cp.toHexString() + "\r\n";
            this.textBox1.Text += "------------------------------------------" + "\r\n";
            this.textBox1.Text += "PCK_SIZE = " + cp.getPCK_SIZE() + " (" + cp.getPCK_SIZE_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_CNT  = " + cp.getPCK_CNT() + " (" + cp.getPCK_CNT_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_ID   = " + cp.getPCK_ID() + " (" + cp.getPCK_ID_HexString() + ")" + "\r\n";
            this.textBox1.Text += "PCK_CRC  = " + cp.getPCK_CRC_HexString() + "\r\n";
            this.textBox1.Text += "------------------------------------------" + "\r\n";


            SendThread st = new SendThread(cp.getRawPacket(), this, this.textBoxIP.Text);

            Thread t = new Thread(new ThreadStart(st.ThreadProc));
            t.Start();
        }
        private Packet processAnswer(Packet client_packet)
        {
            UpdateTextBox2Callback tb2 = new UpdateTextBox2Callback(updateTextBox2);
            byte pck_id = client_packet.getPCK_ID();

            switch (pck_id)
            {
                case 0x05:
                    Packet sp3 = new Packet();
                    string hexString = "7c423d5858"; //data
                    byte[] more_data = Packet.StringToByteArray(hexString); //data
                    sp3.init_SERVER_P3(packet_cnt++, client_packet.getPCK_ID(), client_packet.getPCK_CNT(), more_data);
                    return sp3;
                default:
                    this.Invoke(tb2, new object[] { "UNKNOWN CLIENT PACKET ID" });
                    break;
            }

            return null;
        }