示例#1
0
        private void OnDateComeHandler2(WsdePort handshake, SubSelect subselect)
        {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();

            MessageDeliverGroup.Delivery(MessageType.WSDEDataEvent, javaScriptSerializer.Serialize(new WSDESubVoterSelectRequest()
            {
                SubVoterNumber = subselect.address.ToString(), SubVoterResult = subselect.selectData, SubVoterSelectNumber = subselect.subjectNumber.ToString()
            }));
        }
示例#2
0
        private void OnDataComeHandler2(WsdePort handshake, SubSelect subselect)
        {
            if (!sources.ContainsKey(subselect.address))
            {
                sources.Add(subselect.address, 0);
            }
            bool isright = post.subAnswerDic.IsRight(subselect.subjectNumber, subselect.selectData);

            if (isright)
            {
                sources[subselect.address] += post.subAnswerDic.GetScore(subselect.subjectNumber);
            }
            listViewMonitor.Invoke(new Action(() => { listViewMonitor.Items.Add(String.Format("子机编号:{0},题号:{1},选择答案:{2},答案是否正确{3}", subselect.address, subselect.subjectNumber, subselect.selectData, isright)); }));
        }
示例#3
0
        public void OnWsdeUsbComed(WsdePort wsdePort)
        {
            HostIsRegister   = true;
            HostName         = wsdePort.wsdeName;
            post             = wsdePort;
            post.OnDataCome += new WsdePort.OnDataComeHandler(OnDateComeHandler2);
            Thread.Sleep(1000);
            OnSetCipherList();
            Thread.Sleep(1000);
            OnSetBaseConfig();
            Thread.Sleep(1000);
            OnSetDynamicConfig();

            MessageBox.Show("系统已配置成功");
        }
        private void USBEventHandler(object sender, EventArrivedEventArgs e)
        {
            if (e.NewEvent.ClassPath.ClassName == "__InstanceCreationEvent")
            {
                foreach (USBControllerDevice Device in USB.WhoUSBControllerDevice(e))
                {
                    String s  = Device.Dependent;
                    var    kk = DevManager.GetPortNum(s);
                    if (kk == -1)
                    {
                        continue;
                    }

                    WsdePort wsdePort = new WsdePort("COM" + kk.ToString());
                    wsdePort.wsdeName = "COM" + kk.ToString();

                    wsdePort.HandshakeEvent += new HandshakeHandler(OnHandshake);
                    wsdePort.Handshake();
                    if (!autoResetEvent.WaitOne(3000))
                    {
                        continue;
                    }
                    if (!wsdePortUsbDic.ContainsKey(s))
                    {
                        wsdePortUsbDic.Add(s, wsdePort);
                    }
                    else
                    {
                        wsdePortUsbDic[s] = wsdePort;
                    }
                    OnWsdeUsbComed(wsdePort);
                }
            }
            else if (e.NewEvent.ClassPath.ClassName == "__InstanceDeletionEvent")
            {
                foreach (USBControllerDevice Device in USB.WhoUSBControllerDevice(e))
                {
                    try {
                        String s = Device.Dependent;
                        OnWsdeUsbExited(wsdePortUsbDic[s]);
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
        }
示例#5
0
 public static void OnWsdeUsbComed(WsdePort wsdePort)
 {
     wsdePort.OnDataCome += new OnDataComeHandler(OnDataComeHandler2);
     wsdePort.SetAccessPasswords(new List <ulong> {
         1, 2, 3, 4
     });
     Thread.Sleep(1000);
     wsdePort.InitConf(new ConfAction()
     {
         channel = 1, date = DateTime.Now, frequency = FrequencyEnum.dBM0
     });
     Thread.Sleep(1000);
     wsdePort.UpdateDynamicConf();
     Thread.Sleep(1000);
     wsdePort.subAnswerDic.SetAnswer(2, "A");
     wsdePort.subAnswerDic.SetAnswer(3, "B");
     wsdePort.PushAnswer();
 }
示例#6
0
 private static void OnDataComeHandler2(WsdePort handshake, SubSelect subselect)
 {
     Console.WriteLine("{0}:{2}:{1}", subselect.address, subselect.selectData, subselect.subjectNumber);
 }
示例#7
0
 public static void OnWsdeUsbExited(WsdePort wsdePort)
 {
     Console.WriteLine("exit:{0}", wsdePort.handshakeRespone.Address);
 }
示例#8
0
 public void OnWsdeUsbComed(WsdePort wsdePort)
 {
     post = wsdePort;
     label2.Invoke(new Action(() => { label2.Text = post.wsdeName; }));
     post.OnDataCome += new WsdePort.OnDataComeHandler(OnDataComeHandler2);
 }
示例#9
0
 public void OnWsdeUsbExitHandler(WsdePort wsdePort)
 {
     label2.Invoke(new Action(() => { label2.Text = ""; }));
     MessageBox.Show("主机已被拔出 名称:" + wsdePort.wsdeName);
 }
 private void OnHandshake(WsdePort response)
 {
     autoResetEvent.Set();
 }
示例#11
0
 public void OnWsdeUsbExitHandler(WsdePort wsdePort)
 {
     HostIsRegister = false;
     HostName       = String.Empty;
 }