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); } }
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(); }