From ed3bfb7462d44747230437717e8673a5192f833f Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期一, 30 十一月 2020 20:34:51 +0800 Subject: [PATCH] 2020-11-30-2 --- HDL_ON/DriverLayer/Control.cs | 69 +++++++++++++++------------------- 1 files changed, 31 insertions(+), 38 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DriverLayer/Control.cs similarity index 82% rename from HDL_ON/DAL/DriverLayer/Control.cs rename to HDL_ON/DriverLayer/Control.cs index 743e402..ea4b55e 100644 --- a/HDL_ON/DAL/DriverLayer/Control.cs +++ b/HDL_ON/DriverLayer/Control.cs @@ -15,6 +15,10 @@ /// </summary> local_BusUdp, /// <summary> + /// 鏈湴tcp鏈嶅姟绔� + /// </summary> + tcp_local_server, + /// <summary> /// 鏈湴tcp瀹㈡埛绔� /// </summary> tcp_local_client, @@ -36,10 +40,6 @@ return _control; } } - /// <summary> - /// 缃戝叧鏄惁鍦ㄧ嚎 - /// </summary> - public bool gatewayOnline = false; /// <summary> /// 閫氳鍦板潃IP /// </summary> @@ -63,24 +63,10 @@ public CommunicationMode communicationMode; /// <summary> - /// 鎵撳紑tcp鏈嶅姟绔� - /// </summary> - public void OpenTcpServer() - { - myTcpServer = new Control_TcpServer(); - myTcpServer.OpenServer(); - } - - /// <summary> /// 鏀瑰彉閫氳鏂瑰紡 /// </summary> public void ChangeCommunicationMode(CommunicationMode communicationMode) { - if (this.communicationMode == communicationMode) - { - return; - } - this.communicationMode = communicationMode; @@ -92,10 +78,32 @@ myUdp = new Control_Udp_Bus(); } UdpSocket._BusSocket.Start(); + if (myTcpServer != null) + { + myTcpClient.Close(); + myTcpClient = null; + } if (myTcpClient != null) { myTcpClient.Close(); myTcpClient = null; + } + break; + case CommunicationMode.tcp_local_server: + if (myTcpServer == null) + { + myTcpServer = new Control_TcpServer(); + myTcpServer.OpenServer(); + } + if (myTcpClient != null) + { + myTcpClient.Close(); + myTcpClient = null; + } + if(myUdp != null) + { + UdpSocket._BusSocket.Stop(); + myUdp = null; } break; case CommunicationMode.tcp_local_client: @@ -104,32 +112,17 @@ myTcpClient = new Control_TcpClient(reportIp); myTcpClient.Connect(); } + if (myTcpServer != null) + { + myTcpClient.Close(); + myTcpClient = null; + } if (myUdp != null) { UdpSocket._BusSocket.Stop(); myUdp = null; } break; - } - } - - /// <summary> - /// 鎼滅储鏈湴缃戝叧鍒楄〃 - /// </summary> - public void SearchLoaclGateway() - { - ChangeCommunicationMode(CommunicationMode.local_BusUdp); - if (DB_ResidenceData.residenceData.GatewayType == 0) - { - myUdp.ControlBytesSend(Command.ReadGateway, 255, 255, new byte[] { (byte)new Random().Next(255), (byte)new Random().Next(255) }); - } - else if (DB_ResidenceData.residenceData.GatewayType == 1) - { - UdpSocket._BusSocket.SearchNetDeviceAction = (revIp) => - { - MainPage.Log($"鎼滅储鍒扮綉缁滆澶囷細{revIp}"); - }; - myUdp.SearchLocalGateway(); } } -- Gitblit v1.8.0