From d4160d80c79245c1d7d0cd450ba48cb7850e411d Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 23 十一月 2020 10:45:54 +0800 Subject: [PATCH] 20201123 --- HDL_ON/DAL/DriverLayer/Control.cs | 69 +++++++++++++++++++--------------- 1 files changed, 38 insertions(+), 31 deletions(-) diff --git a/HDL_ON/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs similarity index 82% rename from HDL_ON/DriverLayer/Control.cs rename to HDL_ON/DAL/DriverLayer/Control.cs index ea4b55e..743e402 100644 --- a/HDL_ON/DriverLayer/Control.cs +++ b/HDL_ON/DAL/DriverLayer/Control.cs @@ -15,10 +15,6 @@ /// </summary> local_BusUdp, /// <summary> - /// 鏈湴tcp鏈嶅姟绔� - /// </summary> - tcp_local_server, - /// <summary> /// 鏈湴tcp瀹㈡埛绔� /// </summary> tcp_local_client, @@ -40,6 +36,10 @@ return _control; } } + /// <summary> + /// 缃戝叧鏄惁鍦ㄧ嚎 + /// </summary> + public bool gatewayOnline = false; /// <summary> /// 閫氳鍦板潃IP /// </summary> @@ -63,10 +63,24 @@ 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; @@ -78,32 +92,10 @@ 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: @@ -112,11 +104,6 @@ myTcpClient = new Control_TcpClient(reportIp); myTcpClient.Connect(); } - if (myTcpServer != null) - { - myTcpClient.Close(); - myTcpClient = null; - } if (myUdp != null) { UdpSocket._BusSocket.Stop(); @@ -127,6 +114,26 @@ } /// <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(); + } + } + + /// <summary> /// 鍦烘櫙鎺у埗鍏ュ彛 /// </summary> public void ControlScene(Scene scene) -- Gitblit v1.8.0