public override void ExecuteCommand(WebSocketSession session, SubRequestInfo requestInfo) { try { TestLogger.Log(requestInfo.ToString2()); var request = requestInfo.ToBaseModel(); var obj = JsonHelper.DeserializeJsonToObject <ConnectionModel>(request.Content + ""); var sessions = MyAppServer.Sessions .Where(s => s.AppSession != null) .ToList(); sessions.ForEach(s => { if (!string.IsNullOrEmpty(s.DeviceId)) { s.SetIdState = SetIdState.HadSet; } else { s.SetIdState = SetIdState.NotSet; } }); var data = sessions.Select(s => new { s.Ip, s.DeviceId, s.SetIdState, s.IsThree }).ToList(); string message = "Reply " + JsonHelper.SerializeObject(new SendBaseModel { Content = new ReplyModel { Data = data, Message = Encoding.UTF8.GetBytes("获取成功").ToString(), Success = 1 }, CommandId = request.CommandId }); TestLogger.Log(message); session.Send(message); } catch (Exception ex) { TestLogger.Log(ex.Message + ""); } }
public override void ExecuteCommand(WebSocketSession session, SubRequestInfo requestInfo) { try { Logger.Error(requestInfo.ToString2()); var request = requestInfo.ToBaseModel(); var obj = JsonHelper.DeserializeJsonToObject <ChangeAllModel>(request.Content + ""); if (obj != null) { MyAppServer.Sessions.Where(s => s.AppSession != null).ToList().ForEach(s => { s.Send("change", request); }); } } catch (Exception ex) { Logger.Error(ex.Message); } }
public override void ExecuteCommand(WebSocketSession session, SubRequestInfo requestInfo) { try { TestLogger.Log(requestInfo.ToString2()); var request = requestInfo.ToSendModel(); string firstParam = requestInfo.ToFirstParam(); var toSessions = MyAppServer.Sessions; if (string.IsNullOrWhiteSpace(firstParam)) { TestLogger.Log("命令发送错误"); return; } else if (request.Content == null) { var toDevice = request.ToDeviceId.ToDeivce(); toSessions = toSessions.Where(s => s.DeviceId == toDevice.DeviceId && s.Ip == toDevice.Ip).ToList(); toSessions.ForEach(s => { var message = firstParam + "#"; TestLogger.Log(message); s.Send(message); }); } else if (request.Content != null) { if (firstParam.ToLower() == "reply") //回复 { var fromDevice = request.FromDeviceId.ToDeivce(); if (fromDevice != null) { toSessions = toSessions.Where(s => s.DeviceId == fromDevice.DeviceId && s.Ip == fromDevice.DeviceId).ToList(); } else { return; } } else //发送 { var fromDevice = MyAppServer.Sessions.FirstOrDefault(s => s.SessionId == session.SessionID); if (fromDevice != null) { request.FromDeviceId = fromDevice.Ip + "," + fromDevice.DeviceId; var toDevice = request.ToDeviceId.ToDeivce(); toSessions = toSessions.Where(s => s.DeviceId == toDevice.DeviceId && s.Ip == toDevice.Ip).ToList(); } else { return; } } toSessions.ForEach(s => { var message = CommandHelper.GetCmdStr(firstParam, request); TestLogger.Log(message); s.Send(message); }); } } catch (Exception ex) { TestLogger.Log(ex.Message + ""); } }