/// <summary> /// 当接收到客户端新消息时,会调用此方法. /// </summary> /// <param name="connection"></param> /// <param name="cmdInfo"></param> public override void OnReceived(SocketBase.IConnection connection, TCommandInfo cmdInfo) { if (string.IsNullOrEmpty(cmdInfo.CmdName)) { return; } ThreadPool.QueueUserWorkItem(_ => { Command.ICommand <TCommandInfo> cmd = null; this._dicCommand.TryGetValue(cmdInfo.CmdName, out cmd); try { if (cmd == null) { this.HandleUnKnowCommand(connection, cmdInfo); } else { cmd.ExecuteCommand(connection, cmdInfo); } } catch (Exception ex) { this.OnCommandExecException(connection, cmdInfo, ex); } }); }
/// <summary> /// 当接收到客户端新消息时,会调用此方法. /// </summary> /// <param name="connection"></param> /// <param name="cmdInfo"></param> public virtual void OnReceived(SocketBase.IConnection connection, TCommandInfo cmdInfo) { if (connection == null || cmdInfo == null || string.IsNullOrEmpty(cmdInfo.CmdName)) { return; } Command.ICommand <TCommandInfo> cmd = null; if (this._dicCommand.TryGetValue(cmdInfo.CmdName, out cmd)) { cmd.ExecuteCommand(connection, cmdInfo); } else { this.HandleUnKnowCommand(connection, cmdInfo); } }