Пример #1
0
        public void ToAdmin(QuickFix.Message message, SessionID sessionID)
        {
            // Faz o processamento
            try
            {
                string msgType = message.Header.GetString(35);
                logger.Debug("ToAdmin: " + msgType);

                // Complementa a mensagem de logon com a senha
                if (msgType.Equals(QuickFix.FIX42.Logon.MsgType))
                {
                    Logon message2 = (Logon)message;
                    if (ConfigurationManager.AppSettings["Passwd42"] != null)
                    {
                        message2.Set(new RawData(ConfigurationManager.AppSettings["Passwd42"].ToString()));
                        message2.Set(new RawDataLength(ConfigurationManager.AppSettings["Passwd42"].ToString().Length));
                    }

                    if (ConfigurationManager.AppSettings["CancelOnDisconnect"] != null &&
                        ConfigurationManager.AppSettings["CancelOnDisconnect"].ToString().ToUpper().Equals("N") &&
                        ConfigurationManager.AppSettings["CancelOnDisconnect"].ToString().ToUpper().Equals("FALSE"))
                    {
                        char codtype = ConfigurationManager.AppSettings["CancelOnDisconnect"].ToString()[0];
                        if (codtype >= '0' && codtype <= '3')
                        {
                            CharField field35002 = new CharField(35002, codtype);
                            message2.SetField(field35002);
                        }

                        IntField field35003 = new IntField(35003, 60000);
                        message2.SetField(field35003);
                    }
                    message2.Set(new HeartBtInt(30));
                    message2.Set(new EncryptMethod(0));
                    message2.Set(new ResetSeqNumFlag(ConfigurationManager.AppSettings["ResetSeqNum"].ToString().Equals("true")));
                }

                logger.Debug("toAdmin(). Session id : " + sessionID + " Msg: " + message.GetType().ToString());

                if (message.Header.GetString(35).Equals(QuickFix.FIX42.Heartbeat.MsgType) == false)
                {
                    Crack(message, sessionID);
                }
            }
            catch (Exception ex)
            {
                logger.Error("toAdmin() Erro: " + ex.Message, ex);
            }
        }
Пример #2
0
        public void ToAdmin(QuickFix.Message message, QuickFix.SessionID session)
        {
            // Faz o processamento
            try
            {
                // Complementa a mensagem de logon com a senha
                if (message.GetType() == typeof(Logon))
                {
                    Logon message2 = (Logon)message;
                    if (_config.LogonPassword != "")
                    {
                        message2.Set(new RawData(_config.LogonPassword));
                        message2.Set(new RawDataLength(_config.LogonPassword.Length));
                        if (_config.NewPassword != null && _config.NewPassword.Length > 0)
                        {
                            // message2.setString(925, _config.NewPassword.Trim());
                            NewPassword newpwd = new NewPassword(_config.NewPassword.Trim());
                            message2.SetField(newpwd);
                        }
                    }

                    if (_config.CancelOnDisconnect >= 0)
                    {
                        char codtype = _config.CancelOnDisconnect.ToString()[0];
                        if (codtype >= '0' && codtype <= '3')
                        {
                            message2.SetField(new CharField(35002, codtype));
                        }
                        if (_config.CODTimeout >= 0 && _config.CODTimeout <= 60)
                        {
                            message2.SetField(new IntField(35003, _config.CODTimeout * 1000));
                        }
                    }
                    message2.Set(new HeartBtInt(_config.HeartBtInt));
                    message2.Set(new EncryptMethod(0));
                    message2.Set(new ResetSeqNumFlag(_config.ResetSeqNum));
                }
                if (message.Header.GetField(Tags.MsgType) != MsgType.HEARTBEAT)
                {
                    this.Crack(message, session);
                }
            }
            catch (Exception ex)
            {
                logger.Error("toAdmin() Erro: " + ex.Message, ex);
            }
        }
Пример #3
0
        public void ToAdmin(QuickFix.Message message, SessionID sessionID)
        {
            // Faz o processamento
            try
            {
                string msgType = message.Header.GetString(35);
                logger.Debug("ToAdmin: " + msgType);

                if (msgType.Equals(QuickFix.FIX44.Logon.MsgType))
                {
                    Logon message2 = (Logon)message;
                    if (!string.IsNullOrEmpty(this.Password))
                    {
                        message2.Set(new RawData(this.Password));
                        message2.Set(new RawDataLength(this.Password.Length));
                    }
                    if (!string.IsNullOrEmpty(this.CancelOnDisconnect))
                    {
                        char codtype = this.CancelOnDisconnect[0];
                        if (codtype >= '0' && codtype <= '3')
                        {
                            CharField field35002 = new CharField(35002, codtype);
                            message2.SetField(field35002);
                        }
                        IntField field35003 = new IntField(35003, 10000);
                        message2.SetField(field35003);
                    }
                    message2.Set(new HeartBtInt(30));
                    message2.Set(new EncryptMethod(0));
                    message2.Set(new ResetSeqNumFlag(true));
                }

                logger.Debug("toAdmin(). Session id : " + sessionID + " Msg: " + message.GetType().ToString());
                if (message.Header.GetString(35).Equals(QuickFix.FIX42.Heartbeat.MsgType) == false)
                {
                    Crack(message, sessionID);
                }
            }
            catch (Exception ex)
            {
                logger.Error("toAdmin() Erro: " + ex.Message, ex);
            }
        }
Пример #4
0
        public virtual void ToAdmin(QuickFix.Message message, QuickFix.SessionID session)
        {
            try
            {
                logger.Debug("SND(Admin) --> type[" + message.GetType().ToString() + "] msg[" + message.ToString() + "]");
                //if (message.Header.GetField(QuickFix.Fields.Tags.MsgType) != QuickFix.Fields.MsgType.HEARTBEAT)
                //    this.Crack(message, session);
                // Complementa a mensagem de logon com a senha
                if (message.GetType() == typeof(Logon))
                {
                    Logon message2 = (Logon)message;
                    if (_channelUmdfConfig.LogonPassword != "")
                    {
                        message2.Set(new QuickFix.Fields.RawData(_channelUmdfConfig.LogonPassword));
                        message2.Set(new QuickFix.Fields.RawDataLength(_channelUmdfConfig.LogonPassword.Length));
                        if (_channelUmdfConfig.NewPassword != null && _channelUmdfConfig.NewPassword.Length > 0)
                        {
                            QuickFix.Fields.StringField newPassword = new QuickFix.Fields.StringField(925, _channelUmdfConfig.NewPassword.Trim());
                            message2.SetField(newPassword);
                        }
                    }

                    message2.Set(new QuickFix.Fields.HeartBtInt(_channelUmdfConfig.HeartBtInt));
                    message2.Set(new QuickFix.Fields.EncryptMethod(0));
                    message2.Set(new QuickFix.Fields.ResetSeqNumFlag(_channelUmdfConfig.ResetOnLogon));
                }

                logger.Debug("ToAdmin(). Session id : " + session.ToString() + " Msg: " + message.GetType().ToString());

                //if (message.getHeader().getField(MsgType.FIELD) != QuickFix.MsgType.Heartbeat)
                //    this.crack(message, session);
            }
            catch (Exception ex)
            {
                logger.Error("ToAdmin(): " + ex.Message, ex);
            }
        }