// 发送查询命令 private void Send(TransferCmd tcmd) { if (client != null && client.Connected) { client.Send(JsonExtendFun.CoverseJsonString <TransferCmd>(tcmd)); } }
/// <summary> /// SocketManager 接收事件 /// </summary> /// <param name="obj"></param> private static void Manager_ReceviceDataHandler(object sender, EventArgs e) { var str = sender as string; var tcmd = JsonExtendFun.CoverseJsonObject <TransferCmd>(str); if (tcmd == null) { return; } var fbfun = (JSoundServerCmd)tcmd.funtion; switch (fbfun) { case JSoundServerCmd.SystemInfo: var NewSysValue = JsonExtendFun.CoverseJsonObject <SystemInfo>(tcmd.datas); var SysValue = SimpleIoc.Default.GetInstance <SystemInfo>(); ViewModelHelper.BindModelValue(ref SysValue, NewSysValue); break; case JSoundServerCmd.PlayerMessage: var NewRPlayers = JsonExtendFun.CoverseJsonObject <ObservableCollection <XRoomPlyer> >(tcmd.datas); var RPlayerViewModels = SimpleIoc.Default.GetInstance <ObservableCollection <RoomPlayerItemViewModel> >(); ViewModelHelper.SetModelListToSourceVm(RPlayerViewModels, NewRPlayers, "Source", "id"); break; default: break; } }
// 发送操作命令 public void SendCmd <T>(JSoundClientCmd cmd, T obj) { TransferCmd tcmd = new TransferCmd() { devkey = devKey, funtion = (int)cmd, datas = obj != null?JsonExtendFun.CoverseJsonString(obj) : string.Empty }; try { var nid = ViewModelHelper.GetPropertyValue(obj, "id"); var ncmd = ViewModelHelper.GetPropertyValue(obj, "cmd"); if (nid == null || ncmd == null) { return; } List <TransferCmd> tempitem = new List <TransferCmd>(); tempitem.AddRange(transferCmds); foreach (var item in transferCmds) { var _obj = JsonExtendFun.CoverseJsonObject <T>(item.datas); var oid = ViewModelHelper.GetPropertyValue(_obj, "id"); var ocmd = ViewModelHelper.GetPropertyValue(_obj, "cmd"); if (oid.Equals(nid) && ocmd.Equals(ncmd)) { tempitem.Remove(item); } } transferCmds = new ObservableCollection <TransferCmd>(tempitem); } catch (Exception e) { Console.WriteLine(e.ToString()); } transferCmds.Add(tcmd); }