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
Benchmark

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.
Reference

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

Sessions

FIX Sessions

Create acceptor sessions using UnregisteredAccepter

EchoServer

ExchangeEmulator

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

Benchmark

"Hello, World!" Sample Walkthrough

-
Extend features of the FixSession class

SimpleClient

ExchangeEmulator

EchoServer

Sessions
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

SimpleClient

ExchangeEmulator

EchoServer

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

[6f583de4-3560-4afc-bc9e-324b987be84c]

SimpleClient

Error Handling
Create multiple sessions

SimpleClient

Benchmark

Sessions
Customized solutions that work with real exchanges.

ICE

CMEGlobexClient

CME FIX/FAST Market Data Adaptor
External Resources

Fixopaedia - most comprehensive FIX reference