void test_实时互动1() { //接收到一个标签数据 MiddleWareCore.set_mode(MiddleWareMode.实时互动); string cmd1 = "[select,master_node,equip000001,stu000001,01,A]"; MiddleWareCore.Set_new_data(ProtocolHelper.getProtocolHelper(cmd1)); IntelligentEvent evt1 = MiddleWareCore.get_a_event(); if (evt1.epcID == "stu000001" && evt1.localDeviceID == "master_node" && evt1.remoteDeviceID == "equip000001" && evt1.questionID == "01" && evt1.questionValue == "A" && evt1.event_unit_list[0] == IntelligentEventUnit.new_epc) { Debug.WriteLine("True"); } else { Debug.WriteLine("False"); } //找到该学生的信息,包括学生姓名、位置、选择 //查找学生信息 Person person = MemoryTable.getPersonByEpc(evt1.epcID); if (person.id_num == "CE4D9397871") { Debug.WriteLine("True"); } else { Debug.WriteLine("False"); } }
public static void OnReceive(IAsyncResult ar) { try { IPEndPoint ipeSender = new IPEndPoint(IPAddress.Any, 0); EndPoint epSender = (EndPoint)ipeSender; serverSocket.EndReceiveFrom(ar, ref epSender); string strReceived = Encoding.UTF8.GetString(byteData); Array.Clear(byteData, 0, byteData.Length); //int i = strReceived.IndexOf("\0"); //todo here should deal with the received string sbuilder.Append(strReceived); string temp = string.Empty; while (true) { temp = sbuilder.ToString(); if (temp == null || temp == string.Empty) { break; } int indexLeft = temp.IndexOf("["); int indexRight = temp.IndexOf("]"); if (indexRight == -1 || indexLeft == -1) { break; } if (indexLeft >= indexRight) { //前面有数据错误 sbuilder.Remove(0, indexLeft); } else { string data = temp.Substring(indexLeft, indexRight - indexLeft + 1); sbuilder.Remove(0, indexRight + 1); ProtocolHelper p = ProtocolHelper.getProtocolHelper(data); BackgroundWorker backgroundWorker1 = new BackgroundWorker(); backgroundWorker1.DoWork += new DoWorkEventHandler(BackgroundThreadWork); backgroundWorker1.RunWorkerAsync(p); } } //Start listening to the message send by the user serverSocket.BeginReceiveFrom(byteData, 0, byteData.Length, SocketFlags.None, ref epSender, new AsyncCallback(OnReceive), epSender); } catch (Exception ex) { Debug.WriteLine( string.Format("UDPServer.OnReceive -> error = {0}" , ex.Message)); } }
private static void port_DataReceived(object sender, SerialDataReceivedEventArgs e) { try { //int n = comport.BytesToRead;//n为返回的字节数 //byte[] buf = new byte[n];//初始化buf 长度为n //comport.Read(buf, 0, n);//读取返回数据并赋值到数组 //_RFIDHelper.Parse(buf); //foreach (delevoid_bytes parser in StaticSerialPort.delegateList) //{ // parser(buf); //} string temp = comport.ReadExisting(); sbuilder.Append(temp); while (true) { temp = sbuilder.ToString(); if (temp == null || temp == string.Empty) { break; } int indexLeft = temp.IndexOf("["); int indexRight = temp.IndexOf("]"); if (indexRight == -1 || indexLeft == -1) { break; //return; } if (indexLeft >= indexRight) { //前面有数据错误 sbuilder.Remove(0, indexLeft); } else { string data = temp.Substring(indexLeft, indexRight - indexLeft + 1); sbuilder.Remove(0, indexRight + 1); //Data dataTemp = new Data(data); ProtocolHelper p = ProtocolHelper.getProtocolHelper(data); BackgroundWorker backgroundWorker1 = new BackgroundWorker(); backgroundWorker1.DoWork += new DoWorkEventHandler(BackgroundThreadWork); backgroundWorker1.RunWorkerAsync(p); } } } catch (System.Exception ex) { MessageBox.Show(ex.Message); } }
void test_实时互动5() { //接收到一个标签数据 MiddleWareCore.set_mode(MiddleWareMode.实时互动); string cmd1 = "[select,master_node,subnode1,,01,A]"; MiddleWareCore.Set_new_data(ProtocolHelper.getProtocolHelper(cmd1)); IntelligentEvent evt1 = MiddleWareCore.get_a_event(); if (evt1 == null || evt1.name == IntelligentEvent.event_empty) { Debug.WriteLine("True"); } else { Debug.WriteLine("False"); } }
void test_实时互动3() { //标签重复 MiddleWareCore.set_mode(MiddleWareMode.实时互动); string cmd3_1 = "[select,master_node,subnode2,rfid01,01,A]"; string cmd3_2 = "[select,master_node,subnode2,rfid01,01,A]"; MiddleWareCore.Set_new_data(ProtocolHelper.getProtocolHelper(cmd3_1)); MiddleWareCore.Set_new_data(ProtocolHelper.getProtocolHelper(cmd3_2)); IntelligentEvent evt3 = MiddleWareCore.get_a_event(); if (evt3.event_unit_list.IndexOf(IntelligentEventUnit.repeat_epc) >= 0) { Debug.WriteLine("True"); } else { Debug.WriteLine("False"); } }
void test_实时互动2() { //接收到同一个标签在另一个设备上 MiddleWareCore.set_mode(MiddleWareMode.实时互动); string cmd2_1 = "[select,master_node,subnode1,rfid01,01,A]"; string cmd2_2 = "[select,master_node,subnode2,rfid01,01,A]"; MiddleWareCore.Set_new_data(ProtocolHelper.getProtocolHelper(cmd2_2)); MiddleWareCore.Set_new_data(ProtocolHelper.getProtocolHelper(cmd2_1)); IntelligentEvent evt2 = MiddleWareCore.get_a_event(); if (evt2.event_unit_list.IndexOf(IntelligentEventUnit.epc_on_another_device) >= 0) { Debug.WriteLine("True"); } else { Debug.WriteLine("False"); } }
private void test_考勤1() { MiddleWareCore.set_mode(MiddleWareMode.考勤); string cmd1 = "[select,master_node,subnode1,rfid01,01,A]"; MiddleWareCore.Set_new_data(ProtocolHelper.getProtocolHelper(cmd1)); IntelligentEvent evt1 = MiddleWareCore.get_a_event(); if (evt1.epcID == "rfid01" && evt1.localDeviceID == "master_node" && evt1.remoteDeviceID == "subnode1" && evt1.questionID == "01" && evt1.questionValue == "A" && evt1.event_unit_list[0] == IntelligentEventUnit.new_epc) { Debug.WriteLine("True"); } else { Debug.WriteLine("False"); } }