public void CheckComunication() { List<RealSignalRequest> ids = new List<RealSignalRequest>(); RealSignalRequest rsr = new RealSignalRequest(); rsr.Idx = 1; rsr.Id = 1; ids.Add(rsr); RealHostRequestItem di = new RealHostRequestItem(String.Empty, Guid.NewGuid(), DistributeTypeEnum.Signal); guid = di.DistributeId; Byte[] buffer = GetRequestBytes(ids, di); SendData(buffer); }
public void CheckComunication() { List<RealSignalRequest> ids = new List<RealSignalRequest>(); RealSignalRequest rsr = new RealSignalRequest(); rsr.Idx = 1; rsr.Id = 1; ids.Add(rsr); Byte[] buffer = GetRequestBytes(ids); SendData(buffer); //IPAddress.NetworkToHostOrder }
/// <summary> /// 数据订阅方法,调用此方法来进行数据订阅。 /// </summary> public bool Distribute(int DBHostIdx,int Idx) { //PageLogger.RecordDebugLog(String.Format("Distribute Signal DBHostIdx : {0} Idx : {1}", DBHostIdx, Idx)); //获取实时服务器Id string realHostID = TCacheHostDetailDAL.Instance.GetCacheHostIdByDbHostId(DBHostIdx); RealHostRequestItem rhri=null; foreach (RealHostRequestItem o in m_CacheHostDistribute.Keys) { if (o.realHostID == realHostID) { rhri = o; break; } } if (rhri == null) { rhri = new RealHostRequestItem(realHostID, Guid.NewGuid(), DistributeTypeEnum.Signal); if (!m_CacheHostDistribute.ContainsKey(rhri)) m_CacheHostDistribute.Add(rhri, new List<DistributeItem>()); } DistributeItem nDi = new DistributeItem(DBHostIdx, Idx); nDi.realHostID = realHostID; List<RealSignalRequest> rsrs = new List<RealSignalRequest>(); RealSignalRequest rsr = new RealSignalRequest(); rsr.Idx = nDi.DBHostIdx; rsr.Id = nDi.Idx; rsrs.Add(rsr); nDi.ids = rsrs; bool hasExit = false; foreach (DistributeItem di in m_CacheHostDistribute[rhri]) { if (di.DBHostIdx == DBHostIdx && di.Idx == Idx) { di.LastVisit = DateTime.Now; hasExit = true; break; } } if (!hasExit) { m_CacheHostDistribute[rhri].Add(nDi); rhri.IdsModified = true; } return true; }
public bool Equals(RealSignalRequest t1, RealSignalRequest t2) { return t1.Id == t2.Id && t1.Idx == t2.Idx; }