Beispiel #1
0
        public override void Init(Dictionary <string, string> InitBuff)
        {
            if (InitBuff.ContainsKey("Text"))
            {
                this.Text = InitBuff["Text"];
            }
            if (!InitBuff.ContainsKey("LocalPort"))
            {
                All.Class.Error.Add(string.Format("初始化UDP失败,初始化字符串不包括本地监听端口,设备名称:{0}", this.Text), Environment.StackTrace);
                return;
            }
            int localPort = Class.Num.ToInt(InitBuff["LocalPort"]);

            udpClient = new Class.Udp(localPort);
            if (InitBuff.ContainsKey("RemotHost"))
            {
                udpClient.RemotHost = InitBuff["RemotHost"];
            }
            if (InitBuff.ContainsKey("RemotPort"))
            {
                udpClient.RemotPort = Class.Num.ToInt(InitBuff["RemotPort"]);
            }
            if (InitBuff.ContainsKey("FlushTick"))
            {
                this.FlushTick = Class.Num.ToInt(InitBuff["FlushTick"]);
            }
        }
 public override void Init(Dictionary <string, string> initParm)
 {
     this.InitParm = initParm;
     if (initParm.ContainsKey("Text"))
     {
         this.Text = initParm["Text"];
     }
     if (initParm.ContainsKey("TimeOut"))
     {
         this.TimeOut = All.Class.Num.ToInt(initParm["TimeOut"]);
     }
     if (initParm.ContainsKey("ErrorCount"))
     {
         this.ErrorCount = All.Class.Num.ToInt(initParm["ErrorCount"]);
     }
     if (this.Parent.Sons.Count > 1)
     {
         All.Class.Error.Add("信息交互通讯类,此设备必须独占一个通讯方式,父通讯类下只能存在一个子设备", Environment.StackTrace);
         return;
     }
     if (initParm.ContainsKey("byte"))
     {
         readByte = new byte[All.Class.Num.ToInt(initParm["byte"])];
         readByte.Initialize();
     }
     if (initParm.ContainsKey("string"))
     {
         readString = new string[All.Class.Num.ToInt(initParm["string"])];
         for (int i = 0; i < readString.Length; i++)
         {
             readString[i] = "";
         }
     }
     if (initParm.ContainsKey("double"))
     {
         readDouble = new double[All.Class.Num.ToInt(initParm["double"])];
         readDouble.Initialize();
     }
     if (initParm.ContainsKey("int"))
     {
         readInt = new int[All.Class.Num.ToInt(initParm["int"])];
         readInt.Initialize();
     }
     if (initParm.ContainsKey("ushort"))
     {
         readUshort = new ushort[All.Class.Num.ToInt(initParm["ushort"])];
         readUshort.Initialize();
     }
     if (initParm.ContainsKey("float"))
     {
         readFloat = new float[All.Class.Num.ToInt(initParm["float"])];
         readFloat.Initialize();
     }
     if (initParm.ContainsKey("bool"))
     {
         readBool = new bool[All.Class.Num.ToInt(initParm["bool"])];
         readBool.Initialize();
     }
     if (this.Parent is All.Communite.Udp)
     {
     }
     else
     {
         All.Class.Error.Add("SSRead当前只支持UDP通讯,请更改通讯类为UDP类");
         return;
     }
     udp = (this.Parent as All.Communite.Udp).UdpClient;
     udp.GetBytesArgs += udp_GetBytesArgs;
 }