示例#1
0
        private void Run()
        {
            Console.WriteLine("SellSide Sample");

            EngineSettings settings = new EngineSettings();

            settings.SendLogoutOnException    = true;
            settings.SendLogoutOnInvalidLogon = true; // E.g. to send a Logout when the sequence number of the incoming Logon (A) message is less than expected.

            Engine.Init(settings);

            Engine.Instance.Error   += Instance_Error;
            Engine.Instance.Warning += Instance_Warning;

            string senderCompID = Settings.Get("SenderCompID");
            string targetCompID = Settings.Get("TargetCompID");

            Session sn = new Session(senderCompID, targetCompID, fixVersion);

            sn.InboundApplicationMsgEvent += new InboundApplicationMsgEventHandler(OnInboundApplicationMsg);
            sn.StateChangeEvent           += new StateChangeEventHandler(OnStateChange);
            sn.ErrorEvent   += new FIXForge.NET.FIX.ErrorEventHandler(OnError);
            sn.WarningEvent += new WarningEventHandler(OnWarning);

            sn.LogonAsAcceptor();
            for (;;)
            {
                Console.WriteLine("\nAwaiting session-initiator with"
                                  + "\n SenderCompID (49) = " + targetCompID
                                  // from the counterparty's  point of view SenderCompID is TargetCompID
                                  + "\n TargetCompID (56) = " + senderCompID
                                  + "\n FIX version = " + fixVersion
                                  + "\non port " + Engine.Instance.Settings.ListenPort + " ...");

                DisconnectedEvent.WaitOne();
            }
        }