/** * 发送雨量计校时信息 **/ private bool sendYLConfig(DeviceDTO dto, Dictionary <String, String> settings) { var server = bootstrap.GetServerByName(YL_SERVER); YLServer casicServer = server as YLServer; YLSession session = casicServer.GetSessionByID(dto.SessionId) as YLSession; byte[] set = ApplicationContext.getInstance().getUpdateTime(); //更新session中devID的编号 String devName = settings["yw_deviceId"]; session.DeviceID = devName; byte[] devCodes = new byte[2]; devCodes[0] = byte.Parse(devName.Substring(0, 2), System.Globalization.NumberStyles.HexNumber); devCodes[1] = byte.Parse(devName.Substring(2, 2), System.Globalization.NumberStyles.HexNumber); set[2] = devCodes[0]; set[3] = devCodes[1]; byte[] sendCode = CodeUtils.yl_addCrc(set); //TODO LIST:获取会话信息,发送数据 //session.Send(set, 0, set.Length); session.Send(sendCode, 0, sendCode.Length); session.Logger.Info("雨量计配置信息下发成功:" + BitConverter.ToString(sendCode)); return(true); }
private List <DeviceDTO> getOnlineYLDev() { List <DeviceDTO> devices = new List <DeviceDTO>(); var server = bootstrap.GetServerByName(YL_SERVER); if (server == null) { return(devices); } YLServer casicServer = server as YLServer; // CasicSession session = casicServer.GetAllSessions() as CasicSession; foreach (YLSession session in casicServer.GetAllSessions()) { String sessionId = session.SessionID; if (session.DeviceID != null) { DeviceDTO devDto = new DeviceDTO(); devDto.SessionId = sessionId; devDto.Company = "203所"; devDto.TypeName = "雨量计"; devDto.Name = session.HubID; devDto.Tag = ""; devDto.Status = "在线"; devDto.ServerName = "YLServer"; devices.Add(devDto); } } return(devices); }