From 05d29914b30d3ee0397843010dd351cf432df164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E6=BD=87=E9=98=B3?= Date: Fri, 12 Jul 2024 16:00:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8F=8C=E7=9B=AE=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E6=B5=81=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CPF_Cef/Common/WebSocketClientWithHeartbeat.cs | 15 ++++++++++++--- CPF_Cef/FrmMain.cs | 8 ++++---- CPF_Cef/Parame.cs | 2 +- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/CPF_Cef/Common/WebSocketClientWithHeartbeat.cs b/CPF_Cef/Common/WebSocketClientWithHeartbeat.cs index 4fec9c7..473a3a4 100644 --- a/CPF_Cef/Common/WebSocketClientWithHeartbeat.cs +++ b/CPF_Cef/Common/WebSocketClientWithHeartbeat.cs @@ -20,6 +20,7 @@ namespace AksWebBrowser.Common private readonly string _serverUri; private readonly ClientWebSocket _webSocket = new ClientWebSocket(); public string funName = string.Empty; + public bool isstop = true; //开启定时 System.Timers.Timer timer = new System.Timers.Timer(30000); public WebSocketClientWithHeartbeat() @@ -44,7 +45,7 @@ namespace AksWebBrowser.Common /// private async Task ReceiveMessages() { - while (true) + while (isstop) { if (_webSocket.State == WebSocketState.Open) { @@ -67,6 +68,7 @@ namespace AksWebBrowser.Common string functionName = jo["functionName"].ToString(); if (functionName == "LiveDetectResult") { + Log.Error("LiveDetectResult" + "活检准备"); string status = string.Empty; if (body.Contains("success")) { @@ -106,6 +108,7 @@ namespace AksWebBrowser.Common } else if (functionName == "CF_FaceCompare") { + Log.Error("CF_FaceCompare" + "活检返回"); //停止活检 Send("{\"function\":\"CF_StopLiveDetect\"}", "CF_StopLiveDetect"); //关闭摄像头 @@ -124,9 +127,11 @@ namespace AksWebBrowser.Common Parame.socket.Send(results); // 断开连接 _webSocket.Dispose(); + isstop = false; } else if (functionName == "VideoStream") { + Log.Error("VideoStream" + "视频返回"); string VideoBase64 = jo["VideoBase64"].ToString(); string src = "data:image/jpg;base64," + VideoBase64; string results = "{\"timestamp\":\"" + Utils.GetTimestamp() + "\",\"keycode\":\"" + "aks100121" + "\",\"message\":\"success\",\"code\":\"200\",\"status\":true,\"data\":\"" + src + "\"}"; @@ -149,7 +154,7 @@ namespace AksWebBrowser.Common /// private async Task SendHeartbeats() { - while (true) + while (isstop) { if (_webSocket.State == WebSocketState.Open) { @@ -159,7 +164,7 @@ namespace AksWebBrowser.Common var heartbeat = "{\"function\":\"Heartbeat\"}"; var sendBuffer = System.Text.Encoding.UTF8.GetBytes(heartbeat); await _webSocket.SendAsync(new ArraySegment(sendBuffer), WebSocketMessageType.Text, true, CancellationToken.None); - await Task.Delay(TimeSpan.FromSeconds(6), CancellationToken.None); //根据需要设置心跳间隔 + await Task.Delay(TimeSpan.FromSeconds(10), CancellationToken.None); //根据需要设置心跳间隔 } catch (Exception ex) { @@ -210,6 +215,9 @@ namespace AksWebBrowser.Common Send("{\"function\":\"CF_CloseCamera\"}", "CF_CloseCamera"); string results = "{\"timestamp\":\"" + Utils.GetTimestamp() + "\",\"keycode\":\"" + "aks100120" + "\",\"message\":\"fali\",\"code\":\"400\",\"status\":false,\"data\":\"" + "活体检测超时." + "\"}"; Parame.socket.Send(results); + // 断开连接 + _webSocket.Dispose(); + isstop = false; } catch { } finally { } @@ -225,6 +233,7 @@ namespace AksWebBrowser.Common { if (_webSocket.State == WebSocketState.Open) { + isstop = false; await _webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, string.Empty, CancellationToken.None); } } diff --git a/CPF_Cef/FrmMain.cs b/CPF_Cef/FrmMain.cs index da7f72b..b07577a 100644 --- a/CPF_Cef/FrmMain.cs +++ b/CPF_Cef/FrmMain.cs @@ -35,8 +35,8 @@ namespace AksWebBrowser Title = "控申业务专用浏览器"; CanResize = false; ShowInTaskbar = true; - WindowState = WindowState.FullScreen; - //WindowState = WindowState.Maximized; + //WindowState = WindowState.FullScreen; + WindowState = WindowState.Maximized; Children.Add( new Border @@ -81,8 +81,8 @@ namespace AksWebBrowser //浏览器大小 Parame.webBrowser.Width = w; Parame.webBrowser.Height = h; - Parame.webBrowser.Url = "http://143.169.62.3:8096/#/main-out";//天府新区 - //Parame.webBrowser.Url = "http://192.168.0.234:8096/#/main-out"; + //Parame.webBrowser.Url = "http://143.169.62.3:8096/#/main-out";//天府新区 + Parame.webBrowser.Url = "http://192.168.0.234:8096/#/main-out"; //Parame.webBrowser.Url = "http://192.168.0.34:8078/#/main-out"; //Parame.webBrowser.Url = Application.StartupPath + @"\html\index.html"; //开发者工具暂时只能支持Windows diff --git a/CPF_Cef/Parame.cs b/CPF_Cef/Parame.cs index 4a64d62..08346f5 100644 --- a/CPF_Cef/Parame.cs +++ b/CPF_Cef/Parame.cs @@ -19,7 +19,7 @@ namespace AksWebBrowser public static Window frm { get; set; } public static List FuncObject { get; set; } //接口地址 - public static string apiUrl = "http://143.169.62.3:8098";//"http://192.168.0.234:8098";// + public static string apiUrl = "http://192.168.0.234:8098";//"http://143.169.62.3:8098";// //授权key public static string key = "1"; //硬件Ip