/// <summary> /// 用于接收数据 /// </summary> private static void ReceiveData() { IPEndPoint tmp = new IPEndPoint(IPAddress.Any, 0); String msg = ""; while (true) { try { if (Cts.IsCancellationRequested) { break; } if (ReceiveClient.Available > 0) { byte[] buffer = ReceiveClient.Receive(ref tmp); msg = Encoding.UTF8.GetString(buffer, 0, buffer.Length); dynamic data = JsonConvert.DeserializeObject(msg); if (data.opt == ("reg")) { myEventArgs.RegistArgs args = new myEventArgs.RegistArgs() { Regist = JsonConvert.DeserializeObject <ResultReceiveMod.Regist>(msg) }; //触发事件 NewUserRegist(new UdpClient(), args); } else if (data.opt == ("scan")) { myEventArgs.ScanArgs args = new myEventArgs.ScanArgs() { Scan = JsonConvert.DeserializeObject <ResultReceiveMod.ScanApplication>(msg) }; //触发事件 ScanApply(new UdpClient(), args); } else { //do nothing } } }catch (JsonException ex) { Console.WriteLine("\n[********\n\tJson parse error : {0}\n\tdata : {1}\n********]\n", ex.Message, msg); continue; } catch (Exception) { Console.WriteLine("An error occured while receiving data!"); stopUdp(); break; throw; } } }
/// <summary> /// 扫描触发事件 /// </summary> /// <param name="sender"></param> /// <param name="args">变量</param> public static void ScanApply(object sender, myEventArgs.ScanArgs args) { try { //唤起扫描 callScan(args.Scan.StartTime, args.Scan.StopTime); } catch (Exception ex) { Console.WriteLine("Timer tick Error! {0}", ex.Message); return; } }