Пример #1
0
        private void setupIDProcess(int index)
        {
            while (clients[index].isContainMessage() == false)
            {
            }
            ;

            string msg = clients[index].getMessage();
            TaiSEIA_Packet_structure receive_code = new TaiSEIA_Packet_structure(msg);

            if (receive_code.function_ID[0] == 0x01 && receive_code.function_ID[1] == 0x00) //GET broadcast
            {
                string[] data = new string[6];
                data[0] = "4294967295";
                data[1] = "65535";
                data[2] = "4294967295";
                data[3] = "65535";
                data[4] = "255";
                data[5] = "1";

                byte[] db = generateTaiSEIACode(0xF0FF, data);//Generate ACK
                TaiSEIA_Packet_structure tmp = new TaiSEIA_Packet_structure(db);

                Console.WriteLine(tmp.ToString());
                ServerSend(tmp.ToString(), index);
            }
        }
Пример #2
0
        private void eventThread_SetIDProcess()
        {
            send_code = new TaiSEIA_Packet_structure();
            send_code.setFunctionID(0xF0FF);
            send2Client(send_code.ToString()); //Send ACK


            string tmp_usrid  = "0xA01";
            string tmp_hgid   = "1";
            string tmp_hna_id = "2";

            send_code = new TaiSEIA_Packet_structure();
            send_code.setFunctionID(0x0102, new string[3] {
                Convert.ToInt64(tmp_usrid, 16).ToString(), tmp_hgid, tmp_hna_id
            });
            send2Client(send_code.ToString());

            while (msg.Count == 0)
            {
            }                       //Wait for HNA's ACK msg

            TaiSEIA_Packet_structure rcv_code = new TaiSEIA_Packet_structure(msg[0]);

            if (rcv_code.isEqualFunctionID(0xF0FF))//Receive ACK
            {
                msg.RemoveAt(0);
            }
            else
            {
                //do something
            }

            while (msg.Count == 0)
            {
            }                         //Wait for HNA's msg

            rcv_code = new TaiSEIA_Packet_structure(msg[0]);
            if (rcv_code.isEqualFunctionID(0xF100))//Receive Set Success!!
            {
                msg.RemoveAt(0);
                send_code = new TaiSEIA_Packet_structure();
                send_code.setFunctionID(0xF0FF);
                send2Client(send_code.ToString()); //Send ACK
            }
            else
            {
                //do something
            }

            msg.Clear();
            eventThread.Abort();
        }