/// <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)); } }
public void SendReply(COMMAND command, DMClient dmclient) { DMProtocol dMProtocol; switch (command) { case COMMAND.REP_REGISTER: dMProtocol = new DMProtocol(HEADER.XXZL.ToString(), VERSION.V0100.ToString(), (int)COMMAND.REP_REGISTER, dmclient.DeviceID, (int)dmclient.Stat, (int)dmclient.Powerstat, DateTime.Now.ToString("yyyyMMddHHmmss")); dmclient.Send(dMProtocol.makeMessage()); break; case COMMAND.REP_READCARD: dMProtocol = new DMProtocol(HEADER.XXZL.ToString(), VERSION.V0100.ToString(), (int)COMMAND.REP_READCARD, dmclient.DeviceID, (int)dmclient.Stat, (int)dmclient.Powerstat, DateTime.Now.ToString("yyyyMMddHHmmss")); dmclient.Send(dMProtocol.makeMessage()); break; } }