static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += CurrentDomainUnhandledException; CameraInfo camera1 = new CameraInfo("TEST1", "172.31.108.248", 8000, "admin", "1234Qwer"); try { var task = Task.Factory.StartNew(() => { //1、启动 faceDetectAlarm.Initial(null, 0.6); //2、登录摄像机 int irc = faceDetectAlarm.LoginCamera(camera1); if (irc <= 0) { Debug.Print("LOGIN ERROR"); return; } //3、启动布防 faceDetectAlarm.StartAlarm(); faceDetectAlarm.NoticeFaceSnapEvent += delegate(string strSnapTime, string strDevIP, string strFilePath, Rectangle rectFace) { Debug.Print(strSnapTime + "," + strDevIP + "," + strFilePath); Console.WriteLine(strSnapTime + "," + strDevIP + "," + strFilePath + "," + rectFace.ToString()); }; //4、启动监听 faceDetectAlarm.StartListen(PortHelper.GetFirstAvailablePort()); }); Thread.Sleep(1000); ConsoleCtrlDelegate newDategate = HandlerRoutine; var re = SetConsoleCtrlHandler(newDategate, true); if (!re) { Console.WriteLine("Set SetConsoleCtrlHandler Error! "); } // Request cancellation from the UI thread. if (Console.ReadKey().KeyChar == 'c') { HandlerRoutine(CTRL_CLOSE_EVENT); } // Keep the console window open while the // task completes its output. Console.ReadLine(); } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Application Exception:" + ex.Message); Console.ForegroundColor = ConsoleColor.Black; } }
/// <summary> /// 解析数据 /// 0,申请关闭服务 /// 1,申请开启服务,带端口 /// </summary> /// <param name="s"></param> public void Analysis(string s) { string[] r = s.Split(','); if (r[0] == "check") //验证 { if (r[1] != "1.0.1") { ns.H_Send("fail,客户端版本过低 请更新版本"); connentHost.serverModels.FirstOrDefault(l => l.machineCode == r[5])?.DisClientConn(); machineCode = r[5]; } else { ns.H_Send("pass"); } } else if (r[0] == "stop") //申请关闭服务 { DisClientConn(); } else if (r[0] == "s_Start") //申请开启服务 { int outPort = Convert.ToInt32(r[1]); bool b = PortHelper.PortInUse(outPort); if (b) //如果申请的端口正在使用 { ns.H_Send("s_PortOccupied," + r[4]); //拒绝 } else { ns.H_Send("s_PortAccess," + r[4]); //同意 ConnentPort connentPort = new ConnentPort() { connentIP = this, InPort = PortHelper.GetFirstAvailablePort(), OutPort = outPort, ClientIP = r[2], ClientPort = Convert.ToInt32(r[3]), ID = r[4], }; connentPort.Start(); connentPorts.Add(connentPort); } } else if (r[0] == "s_Stop") //申请关闭服务 { ConnentPort connentPort = connentPorts.FirstOrDefault(l => l.ID == r[1]); if (connentPort != null) { connentPort.DisClientConn(); connentPorts.Remove(connentPort); } } }