public void msgTimedEvent(object source, ElapsedEventArgs e) { SmqOppResult ruCount = msgList.Opp(QueueMethod.Count, null); int len = ruCount.count; for (int i = 0; i < len; i++) { SmqOppResult ruShift = msgList.Opp(QueueMethod.Shift, null); if (!ruShift.oppSucess) { continue; } SessionMessage item = ruShift.item; // XmlDocument doc = item.doc(); string strIpPort = item.strIpPort(); string action = item.action(); AppSession c = null; c = item.e(); // item.Dereference(); // if (RCClientAction.loadG == action) { RCLogic.doorLoadG(c, doc); continue; } if (RCClientAction.betG == action) { RCLogic.doorBetG(c, doc); continue; } if (RCClientAction.updG == action) { RCLogic.doorUpdG(c, doc); continue; } if (RCClientAction.updHonor == action) { RCLogic.doorUpdHonor(c, doc); continue; } if (RCClientAction.login == action) { RCLogic.doorLogin(c, doc); continue; } if (RCClientAction.hasReg == action) { RCLogic.doorHasReg(c, doc); continue; } if (RCClientAction.reg == action) { RCLogic.doorReg(c, doc); continue; } if (RCClientAction.chkEveryDayLoginAndGet == action) { RCLogic.doorChkEveryDayLoginAndGet(c, doc); continue; } if (RCClientAction.loadChart == action) { RCLogic.doorLoadChart(c, doc); continue; } if (RCClientAction.loadTopList == action) { RCLogic.doorLoadTopList(c, doc); continue; } if (RCClientAction.hasProof == action) { RCLogic.doorHasProof(c, doc); continue; } if (RCClientAction.loadDBType == action) { RCLogic.doorLoadDBType(c, doc); continue; } //Log.WriteStr("无效协议号:" + clientServerAction); Log.WriteStr(SR.GetString(SR.Invalid_protocol_num, action)); } //end for }
private static void msgTimedEvent(object source, ElapsedEventArgs e) { try { SmqOppResult ruCount = msgList.Opp(QueueMethod.Count, null); int len = ruCount.count; for (int i = 0; i < len; i++) { #region 获取消息及Session SmqOppResult ruShift = msgList.Opp(QueueMethod.Shift, null); if (!ruShift.oppSucess) { continue; } SessionMessage item = ruShift.item; // XmlDocument doc = item.doc(); string strIpPort = item.strIpPort(); string action = item.action(); SocketConnector session = null; AppSession c = null; // if (!item.fromServer) { if (DdzLogic.getInstance().netHasSession(strIpPort)) { c = DdzLogic.getInstance().netGetSession(strIpPort); }//end if } else { //if (item.fromDBServer) //{ // session = DdzLogic.DBConnector.getSocket(); //}else if (item.fromRCServer) //{ session = DdzLogic.getInstance().RCConnector;//.getSocket(); //}//end if } #endregion #region 客户端协议处理 if (!item.fromServer) { if (ClientAction.verChk == action) { DdzLogic.getInstance().doorVerChk(c, doc, item); continue; } if (ClientAction.loadDBType == action) { DdzLogic.getInstance().doorLoadDBType(c, doc); continue; } if (ClientAction.hasReg == action) { DdzLogic.getInstance().doorHasReg(c, doc, item); continue; } if (ClientAction.reg == action) { DdzLogic.getInstance().doorReg(c, doc, item); continue; } if (ClientAction.login == action) { DdzLogic.getInstance().doorLogin(c, doc, item); continue; } if (ClientAction.heartBeat == action) { DdzLogic.getInstance().doorHeartBeat(c, doc, item); continue; } if (ClientAction.loadG == action) { DdzLogic.getInstance().doorLoadG(c, doc, item); continue; } if (ClientAction.loadD == action) { DdzLogic.getInstance().doorLoadD(c, doc, item); continue; } if (ClientAction.listModule == action) { DdzLogic.getInstance().doorListModule(c, doc, item); continue; } if (ClientAction.listRoom == action) { DdzLogic.getInstance().doorListRoom(c, doc, item); continue; } if (ClientAction.joinRoom == action) { DdzLogic.getInstance().doorJoinRoom(c, doc, item); continue; } if (ClientAction.joinReconnectionRoom == action) { DdzLogic.getInstance().doorJoinReconnectionRoom(c, doc, item); continue; } if (ClientAction.autoJoinRoom == action) { DdzLogic.getInstance().doorAutoJoinRoom(c, doc, item); continue; } if (ClientAction.autoMatchRoom == action) { DdzLogic.getInstance().doorAutoMatchRoom(c, doc, item); continue; } if (ClientAction.pubMsg == action) { DdzLogic.getInstance().doorPubMsg(c, doc, item); continue; } if (ClientAction.pubAuMsg == action) { DdzLogic.getInstance().doorPubAuMsg(c, doc, item); continue; } if (ClientAction.setRvars == action) { DdzLogic.getInstance().doorSetRvars(c, doc, item); continue; } if (ClientAction.setMvars == action) { DdzLogic.getInstance().doorSetMvars(c, doc, item); continue; } if (ClientAction.setModuleVars == action) { DdzLogic.getInstance().doorSetModuleVars(c, doc, item); continue; } if (ClientAction.leaveRoom == action) { DdzLogic.getInstance().doorLeaveRoom(c, doc, item); continue; } if (ClientAction.leaveRoomAndGoHallAutoMatch == action) { DdzLogic.getInstance().doorLeaveRoomAndGoHallAutoMatch(c, doc, item); continue; } if (ClientAction.sessionClosed == action) { DdzLogic.getInstance().logicSessionClosed(strIpPort); continue; } } else { // if (ServerAction.needProof == action) { DdzRCLogic.getInstance().doorNeedProof(session, doc, item); continue; } if (ServerAction.proofOK == action) { DdzRCLogic.getInstance().doorProofOK(session, doc, item); continue; } if (ServerAction.proofKO == action) { DdzRCLogic.getInstance().doorProofKO(session, doc, item); continue; } if (ServerAction.loadDBTypeOK == action) { DdzRCLogic.getInstance().doorLoadDBTypeOK(session, doc, item); continue; } if (ServerAction.regOK == action) { DdzRCLogic.getInstance().doorRegOK(session, doc, item); continue; } if (ServerAction.regKO == action) { DdzRCLogic.getInstance().doorRegKO(session, doc, item); continue; } if (ServerAction.logOK == action) { DdzRCLogic.getInstance().doorLogOK(session, doc, item); continue; } if (ServerAction.logKO == action) { DdzRCLogic.getInstance().doorLogKO(session, doc, item); continue; } if (ServerAction.hasRegOK == action) { DdzRCLogic.getInstance().doorHasRegOK(session, doc, item); continue; } if (ServerAction.hasRegKO == action) { DdzRCLogic.getInstance().doorHasRegKO(session, doc, item); continue; } if (ServerAction.needProof == action) { DdzRCLogic.getInstance().doorNeedProof(session, doc, item); continue; } if (ServerAction.proofOK == action) { DdzRCLogic.getInstance().doorProofOK(session, doc, item); continue; } if (ServerAction.proofKO == action) { DdzRCLogic.getInstance().doorProofKO(session, doc, item); continue; } if (ServerAction.loadGOK == action) { DdzRCLogic.getInstance().doorLoadGOK(session, doc, item); continue; } // if (ServerAction.chkEveryDayLoginAndGetOK == action) { DdzRCLogic.getInstance().doorChkEveryDayLoginAndGetOK(session, doc, item); continue; } } #endregion //Logger.WriteStr("无效协议号:" + action); Log.WriteStr(SR.GetString(SR.Invalid_protocol_num, action)); }//end for // DdzLogic.getInstance().TimedAutoMatchRoom(); DdzLogic.getInstance().TimedWaitReconnection(); DdzLogic.getInstance().TimedChkHeartBeat(); } catch (Exception exd) { Log.WriteStrByException(CLASS_NAME, "msgTimedEvent", exd.Message, exd.StackTrace); } }