Esempio n. 1
0
 private void SaveClientStat(string key, STAT stat, POWERSTAT powerstat)
 {
     if (clientTable.ContainsKey(key))
     {
         DMClient oldClient = clientTable[key];
         oldClient.Stat      = stat;
         oldClient.Powerstat = powerstat;
     }
 }
Esempio n. 2
0
        /// <summary>
        /// 发送到设备
        /// </summary>
        /// <param name="deviceID"></param>
        /// <param name="command"></param>
        /// <param name="stat"></param>
        /// <param name="powerStat"></param>
        /// <param name="otherinfo"></param>
        /// <returns></returns>
        public string SendMsgToClient(string deviceID, COMMAND command, STAT stat, POWERSTAT powerStat, string otherinfo = null)
        {
            DMClient c = clientTable[deviceID];

            if (c != null)
            {
                DMProtocol dmProtocol = null;
                string     msg        = null;
                switch (command)
                {
                case COMMAND.ASK:
                    dmProtocol = new DMProtocol(HEADER.XXZL.ToString(), VERSION.V0100.ToString(), (int)command, deviceID, 0, 0, DateTime.Now.ToString("yyyyMMddHHmmss"));
                    msg        = dmProtocol.makeMessage();
                    break;

                case COMMAND.REMIND:
                    string[] info = new string[1];
                    info[0]    = otherinfo;
                    dmProtocol = new DMProtocol(HEADER.XXZL.ToString(), VERSION.V0100.ToString(), (int)command, deviceID, (int)stat, (int)powerStat, DateTime.Now.ToString("yyyyMMddHHmmss"), info);
                    msg        = dmProtocol.makeMessage();
                    break;

                case COMMAND.SETUP:
                    dmProtocol = new DMProtocol(HEADER.XXZL.ToString(), VERSION.V0100.ToString(), (int)command, deviceID, (int)stat, (int)powerStat, DateTime.Now.ToString("yyyyMMddHHmmss"));
                    msg        = dmProtocol.makeMessage();
                    break;

                case COMMAND.UPDATE:
                    dmProtocol = new DMProtocol(HEADER.XXZL.ToString(), VERSION.V0100.ToString(), (int)command, deviceID, 0, 0, DateTime.Now.ToString("yyyyMMddHHmmss"));
                    msg        = dmProtocol.makeMessage();
                    break;
                }
                //try
                //{
                //    c.Send(msg);
                //    return "Success";

                //}
                //catch (Exception ex)
                //{
                //    Console.WriteLine(ex.Message);
                //    return "Err:ex.Message";
                //}
                return(c.SendAndReceive(msg));
            }
            else
            {
                return(GetErrMessageToLIMS(deviceID, "Device is offline", (int)COMMAND.ERR_CONCET));
            }
        }
Esempio n. 3
0
        public string SendCommandToDeivce(string id, COMMAND command, STAT stat, POWERSTAT powerStat)
        {
            MemoryCache cache = MemoryCache.Default;

            if (cache.Count() > 0)
            {
                //Message = cache.Count() + " device(s) have been registered";
                //foreach (var oc in cache.Distinct())
                //{
                //    DeviceInformation deviceInformation = (DeviceInformation)oc.Value;
                //    DeviceInfoList.Add("ID: " + deviceInformation.DeviceID + "-IP: " + deviceInformation.IP + " -DeviceStat: " + deviceInformation.DeviceStat + " -PowerStat: " + deviceInformation.PowerStat.ToString("00") + " -Ver: " + deviceInformation.DeviceVer);
                //}
                DeviceInformation deviceInformation = (DeviceInformation)cache.Get(id);
                IPEndPoint        ipEndPoint        = new IPEndPoint(IPAddress.Parse(deviceInformation.IP), deviceInformation.port);
                Socket            clientSocket      = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                clientSocket.Connect(ipEndPoint);
                //DMProtocol dmProtocol = null;
                string msg = null;
                byte[] data;
                //switch (command)
                //{
                //    case COMMAND.KEEPLIVE: //废弃
                //        //if (cmd.Equals("111"))
                //        //{
                //        //    //    0    1     2   3      4     5                                         6      7
                //        //    msg = "SXZL,V0100,01,DM77712,3696,00," + DateTime.Now.ToString("yyyyMMddHHmmss") + ",9910";
                //        //}
                //        dmProtocol = new DMProtocol(HEADER.XXZL.ToString(), VERSION.V0100.ToString(),deviceInformation.DeviceID,00,0,0, DateTime.Now.ToString("yyyyMMddHHmmss"));
                //        msg = dmProtocol.makeMessage();
                //        //int count;
                //        try
                //        {
                //            //clientSocket.Send(Encoding.UTF8.GetBytes(msg));
                //            //data = new byte[1024];
                //            //count = clientSocket.Receive(data);
                //            //msg = Encoding.UTF8.GetString(data, 0, count);

                //            msg = sendAndReceive(msg, clientSocket);
                //            Console.WriteLine("Receive:" + msg);
                //        }
                //        catch (Exception ex)
                //        {
                //            Console.WriteLine(ex.Message);
                //        }
                //        break;
                //    case COMMAND.ASK:
                //        dmProtocol = new DMProtocol(HEADER.XXZL.ToString(), VERSION.V0100.ToString(), deviceInformation.DeviceID, (int)command, 0, 0, DateTime.Now.ToString("yyyyMMddHHmmss"));
                //        msg = dmProtocol.makeMessage();
                //        try
                //        {
                //            msg = sendAndReceive(msg, clientSocket);
                //            Console.WriteLine("Receive:" + msg);
                //        }
                //        catch (Exception ex)
                //        {
                //            Console.WriteLine(ex.Message);
                //        }
                //        break;
                //    case COMMAND.REMIND:
                //        dmProtocol = new DMProtocol(HEADER.XXZL.ToString(), VERSION.V0100.ToString(), deviceInformation.DeviceID, (int)command, 0, 0, DateTime.Now.ToString("yyyyMMddHHmmss"));
                //        msg = dmProtocol.makeMessage();
                //        try
                //        {
                //            msg = sendAndReceive(msg, clientSocket);
                //            Console.WriteLine("Receive:" + msg);
                //        }
                //        catch (Exception ex)
                //        {
                //            Console.WriteLine(ex.Message);
                //        }
                //        break;
                //    case COMMAND.SETUP:
                //        dmProtocol = new DMProtocol(HEADER.XXZL.ToString(), VERSION.V0100.ToString(), deviceInformation.DeviceID, (int)command, (int)stat, (int)powerStat, DateTime.Now.ToString("yyyyMMddHHmmss"));
                //        msg = dmProtocol.makeMessage();
                //        try
                //        {
                //            msg = sendAndReceive(msg, clientSocket);
                //            Console.WriteLine("Receive:" + msg);
                //        }
                //        catch (Exception ex)
                //        {
                //            Console.WriteLine(ex.Message);
                //        }
                //        break;
                //    case COMMAND.UPDATE:
                //        dmProtocol = new DMProtocol(HEADER.XXZL.ToString(), VERSION.V0100.ToString(), deviceInformation.DeviceID, (int)command, 0, 0, DateTime.Now.ToString("yyyyMMddHHmmss"));
                //        msg = dmProtocol.makeMessage();
                //        try
                //        {
                //            msg = sendAndReceive(msg, clientSocket);
                //            Console.WriteLine("Receive:" + msg);
                //        }
                //        catch (Exception ex)
                //        {
                //            Console.WriteLine(ex.Message);
                //        }
                //        break;
                //}
                return(msg);
            }
            else
            {
                return("Device pool is empty");
            }
        }
Esempio n. 4
0
 public string SendCommandToDeivce(string id, COMMAND command, STAT stat, POWERSTAT powerStat, string otherinfo)
 {
     //Console.WriteLine("SendCommandToDeivce被调用");
     return(dmServerThread.SendMsgToClient(id, command, stat, powerStat, otherinfo));
 }