The participant must establish a TLS-secured TCP/IP connection directly to an EDC gateway. Gateway IP addresses and ports are provided by the exchange via the Network Access Guide (EDCI Manual §3.4, §4.2). There is no prior gateway discovery step — EDCI uses a direct single-step connection model.
Once connected, the first message sent must be the Session Logon (OnixS::Eurex::DropCopy::TemplateId::LogonRequest) (EDCI Manual §4.3.1).
OnixS::Eurex::DropCopy::Handler::connect can throw exceptions if the TCP connection cannot be established:
In this case you should check:
If both is OK you should contact to OnixS Technical Support or Eurex Customer Technical Support.
The Session Logon message must be the first message sent by the participant authenticating the Eurex EDCI session.
OnixS::Eurex::DropCopy::Handler::connect can throw exceptions in case of fields of Logon message are incorrect:
| Tag | Fieldname | Exception |
| 20055 | PartyIDSessionID | Session ID not exist in refdata |
| 554 | Password | Session authentication failed |
When a session is dropped (network failure, heartbeat violation, or exchange restart), the handler fires onError with ErrorCode::General and, if OnixS::Eurex::DropCopy::HandlerSettings::connectionRetries is non-zero, automatically retries the connection. Each retry executes the complete connection sequence:
Steps 1–4 are handled by the SDK. After they complete, the handler transitions to OnixS::Eurex::DropCopy::HandlerState::Connected and the exchange immediately begins the order book synchronization sequence (OnixS::Eurex::DropCopy::TradSesEvent::StartOfOrderBookSynch → restatements → OnixS::Eurex::DropCopy::TradSesEvent::EndOfOrderBookSynch). The application must handle this sequence on every connect, not just the first. See Session Lifecycle for details.
OnixS::Eurex::DropCopy::Handler::connect has a two-argument overload that accepts primary and secondary gateway addresses:
This performs initial connection failover only: if the initial TCP connect to the primary gateway fails, the handler attempts the secondary. If the handler subsequently connects successfully to the primary and is later disconnected mid-session, it does not automatically switch to the secondary. Reconnection always targets the same gateway used for the original successful connection.
For active-passive gateway configurations, the application must implement failover explicitly: detect disconnection via onError or the state listener, determine the appropriate gateway, and call OnixS::Eurex::DropCopy::Handler::connect with the chosen address.
All local order state must be cleared on every connect and reconnect. The restatement sequence that follows OnixS::Eurex::DropCopy::TradSesEvent::StartOfOrderBookSynch delivers the current state of all open orders. Any state retained from before the disconnect is stale: orders may have been cancelled, filled, or modified by the exchange while the session was down.
The correct pattern is:
Retaining stale order state across a reconnect and applying live incremental updates on top of it produces a diverged local book that silently misrepresents the exchange state. There is no mechanism to detect this divergence after the fact.