/// <summary> /// 信息处理 /// </summary> /// <param name="server"></param> public void InvokeMessage() { while (true) { ReciveData data = null; try { if (MCQ.TryDequeue(out data)) { //登陆保存会话 此处已经分配了SESSIONID if (data.Command == Command.Login && ISessionAdd != null) { ISessionAdd.AddSession(data.UserToken); data.UserToken.LoginFinish(); ISessionAdd.OnConnected(data.UserToken); } else if (data.Command == Command.Token) { data.UserToken.LastTokenDateTime = DateTime.Now; } else { //客户端定时发送心跳 data.UserToken.Token(data); Process.Invoke(data); } } else { Thread.Sleep(1); } } catch (Exception e) { if (data != null) { data.UserToken.Reset("InvokeMessage:" + e.Message + e.StackTrace); } } } }