wxr
2020-11-24 33470790ac0069c7734fb1a5b8b07350950c6dfe
HDL_ON/DAL/DriverLayer/Control_Udp.cs
File was renamed from HDL_ON/DAL/DriverLayer/Control_Udp_Bus.cs
@@ -10,9 +10,13 @@
namespace HDL_ON
{
    public class Control_Udp_Bus
    public class Control_Udp
    {
        public Control_Udp()
        {
            MainPage.Log($"control bus udp 被创建,时间:{DateTime.Now}");
        }
        /// <summary>
        /// 通讯ID
        /// </summary>
@@ -26,7 +30,7 @@
        /// <summary>
        /// 所有对一端口的控制都会放到这个集合里
        /// </summary>
        List<Control_Udp_Bus> controlList = new List<Control_Udp_Bus>(50);
        static List<Control_Udp> controlList = new List<Control_Udp>(50);
        public System.Net.IPEndPoint EndPoint
        {
@@ -46,11 +50,10 @@
        /// <summary>
        /// 发送数据,不需要等待回复
        /// ps:允许临时公开,仅供tv发送bus命令使用,后期需要更新到A协议数据格式控制
        /// </summary>
        public void ControlBytesSend(Command command, byte subnetID, byte deviceID, byte[] gatewayBytes, int sendCount = 3)
        {
            var control = new Control_Udp_Bus();
            var control = new Control_Udp();
            control.Send(new Target()
            {
                IPEndPoint =  EndPoint ,
@@ -97,8 +100,8 @@
                    return;
                }
                Control.ins.OpenTcpServer();
                var sendStr =  UserInfo.Current.accountString;
                Control.Ins.OpenTcpServer();
                var sendStr =  UserInfo.Current.AccountString;
                if (usefullBytes.Length == 0)
                {
                    SendRemark(sendStr);
@@ -133,14 +136,11 @@
        /// </summary>
        void SendRemark(string sendStr)
        {
            //if (System.Globalization.CultureInfo.InstalledUICulture.EnglishName.ToUpper().StartsWith("CZECH"))
            //    Encoding.GetEncoding(1250);
            byte[] sendBytes = new byte[20];
            byte[] b1 = Encoding.GetEncoding("gb2312").GetBytes(sendStr);
            Array.Copy(b1, 0, sendBytes, 0, 20 < b1.Length ? 20 : b1.Length);
            var control = new Control_Udp_Bus();
            var control = new Control_Udp();
            control.Send(new Target()
            {
                IPEndPoint = EndPoint,
@@ -581,7 +581,6 @@
                    }
                }
                //System.MainPage.WriteLog ("++++++++"+controlList.Count.ToString ());
            }
            controlList.Add(this);
        }
@@ -634,7 +633,6 @@
            allDone.WaitOne();
        }
        /// <summary>
        /// 让当前线程继续执行
        /// </summary>
@@ -644,8 +642,7 @@
            Packet.HaveSendCount = 4;
        }
        //数据重发处理
        //数据发送处理
        void managerSendCount(object o)
        {
            add();
@@ -694,8 +691,11 @@
        /// 当前数据包
        /// </summary>
        Packet Packet;
        private void ini(Target target)
        /// <summary>
        /// 记录发送数据包
        /// </summary>
        /// <param name="target"></param>
        private void signPacket(Target target)
        {
            this.SendFlag = string.Format("{0},{1},{2},", target.SubnetID, target.DeviceID, (int)target.Command + 1);
@@ -732,13 +732,10 @@
                    break;
            }
            System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount));
            thread.IsBackground = true;
            thread.Start(Packet);
        }
        /// <summary>
        /// 发送Bus数据,发送了不需要等待
        /// 发送数据
        /// </summary>
        /// <param name="target">发送对象</param>
        /// <param name="sendCount">重发次数</param>
@@ -749,7 +746,11 @@
                Packet = new Packet(target.SendBytes, target.IPEndPoint);
                Packet.HaveSendCount = 3 - sendCount;
                ini(target);
                signPacket(target);
                System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(managerSendCount));
                thread.IsBackground = true;
                thread.Start(Packet);
                if (isWait)
                {
@@ -769,9 +770,7 @@
        {
            try
            {
                var sendJob = new JObject {
                                                        {"id",msg_id.ToString() } ,{"time_stamp",(DateTime.Now.Ticks / 10000).ToString()}
                                        };
                var sendJob = new JObject { { "id", msg_id.ToString() }, { "time_stamp", (DateTime.Now.Ticks / 10000).ToString() } };
                var bodyString = JsonConvert.SerializeObject(sendJob);
                var bodyBytes = Encoding.ASCII.GetBytes(bodyString);
                var sendBytes = A_Protocal_Common.apc.ConvertSendBodyData(CommunicationTopic.SearchLoaclGateway, bodyString);