/// <summary> /// Connect network /// </summary> public virtual void OnConnected() { sessionID = ServerRoot.Instance.GetSessionID(); ReceiveState = new ReceiveState(); SendState = new SendState(); SendState.Reset(); ReceiveState.PrepareForPacketHeader(5); LastPingTime = NetSvc.GetTimeStamp(); KDCommon.Log("SessionID:" + sessionID + " Client Connect"); }
private void CheckOnline(int n) { long timeNow = NetSvc.GetTimeStamp(); foreach (var item in onLineSessionDic) { if (timeNow - item.Key.LastPingTime > m_PingInterval * 1.5f) { timeOutSessions.Add(item.Key); } } foreach (var item in timeOutSessions) { NetSvc.Instance.CloseClient(item); Console.WriteLine("当前在线人数:" + onLineSessionDic.Count); } timeOutSessions.Clear(); }