Advanced SamplesFIX Antenna .NET Programmer's Guide

Unlike simple samples described in Quick Samples and "Hello, World!" Sample Walkthrough advanced samples are complete applications that have all features applications should have: error handling, logging, some business logic, GUI or console input/output etc.

Some of this samples, like SimpleClient and ExchangeEmulator could be also used by developers as testing tools to emulate FIX-client or FIX-server operations.

All this samples were written in C# and are available currently in the following Visual Studio solutions:

  • FIX Antenna Samples For Visual Studio 2010 (Samples.sln)

Solution files can be found in \Samples directory, shortcuts to these solutions exist in Fix Antenna start menu.

FixAntenna.NET installation package contains source codes of these samples as well as compiled (in Release configuration) binaries, that can be started directly from Windows Start Menu.

In This Section

The following samples will be described in this section:

Sample nameProjectsDescription

Receiver (or Receiver)

Sender (or Sender)

Benchmark consists of 2 Windows Forms applications: Sender and Receiver. Sender sends a packet of messages to Receiver to measure FixAntenna performance and latency.
EchoServer EchoServer (or EchoServer) EchoServer is a passive "reflector" that accepts all incoming FIX session creation requests (accepts the incoming Logon and creates the corresponding session acceptor) and sends back (reflects) copies of all incoming application-level messages.
ExchangeEmulator ExchangeEmulator (or ExchangeEmulator) ExchangeEmulator is a Windows Forms application that extends the functionality of EchoServer and demonstrates how to implement a business scenario when a client wants to subscribe for periodically updated quotas.
SimpleClient SimpleClient (or SimpleClient)

SimpleClient provides the following functions:

- create/destroy a session;

- send a message to the chosen session;

- send messages (in the batch mode) to the chosen session.

It also contains a user control that helps to edit Fix messages.

ICE ICE (or ICE) ICE Client is specially designed to facilitate testing third-party applications on compatibility with ICE customization of the FIX Protocol.
CMEGlobexClient CMEGlobexClient (or CMEGlobexClient) CME Globex Client allows to subscribe for an instrument and unsubscribe from a market data instrument.

Here is the short reference of the different development tasks and approaches demonstrated in samples:
How toSamplesReference
Explicitly create initiator and acceptorBenchmark


FIX Sessions

Create acceptor sessions using UnregisteredAccepter



Use syncronization objects to block thread execution until certain condition occurs in FixAntenna


"Hello, World!" Sample Walkthrough

Extend features of the FixSession class




Using FAST protocolSimpleClientCME FIX/FAST Market Data Adaptor
Store shared collections of open FIX sessions and syncronize these collections in multithreaded applications using critical sections




Using decoratorsUsing Decorators
Implementing custom logging of all FixAntenna events with Tracers



Error Handling
Create multiple sessions



Customized solutions that work with real exchanges.



CME FIX/FAST Market Data Adaptor
External Resources

Fixopaedia - most comprehensive FIX reference