Imported from previous forum
We’re developing a ORDER ENTRY Client-Server Application communicating throug Fix Protocol Messages.
Usually the client (initiator of the session) sends requests and waits for the server’s response.
(e.g. Client: MD-Request --> Server: MDSnapshot or Client: NewSingleOrder --> Server: ExecutionReport)
QUESTION: Is a Server allowed to send ‘unrequested’ Messages to the Client (not explicitly demanded by the client) ?
(execution reports, heartbeats)
If yes - and the client is sending a msg by accident the exact same time - they may use both the SAME MsgSeqNum.
(causing exception on both Fix interpretors to intervene)
Any help is very appreciated.
Thanks in advance,
P.Class
cin/technology
[ original email was from Ryan Pierce - rpierce@taltrade.com ]
> QUESTION: Is a Server allowed to send ‘unrequested’ Messages to the Client (not explicitly demanded by the client) ?
> (execution reports, heartbeats)
>
> If yes - and the client is sending a msg by accident the exact same time - they may use both the SAME MsgSeqNum.
-
FIX is not a simple request-response protocol. (I.e. it is not like HTTP.) Each side can send messages to each other whenever they feel like it.
-
Each party maintains their own MsgSeqNum for each direction and increments it. I.e. A sends 1 Logon, B responds with 1 Logon, A sends 2 New Order - Single, B sends 2 Execution Report indicating the order is live, and then 3 Execution Report indicating the order traded. Each party maintains two counters: what they are expecting from the other party, and what they need to send next.
Yes, Server allowed to send ‘unrequested’ messages to the Client (not explicitly demanded by the client).
They can’t use the same MsgSeqNum because
"…Each session will establish an independent incoming and outgoing sequence series…", so
for each session server and client have two MsgSeqNum (incoming and outgoing sequence number).
Roman Polupanov
B2B Its Corp.,
fix.btobits.com
www.btobits.com
> We’re developing a ORDER ENTRY Client-Server Application communicating throug Fix Protocol Messages.
>
> Usually the client (initiator of the session) sends requests and waits for the server’s response.
> (e.g. Client: MD-Request --> Server: MDSnapshot or Client: NewSingleOrder --> Server: ExecutionReport)
>
> QUESTION: Is a Server allowed to send ‘unrequested’ Messages to the Client (not explicitly demanded by the client) ?
> (execution reports, heartbeats)
>
> If yes - and the client is sending a msg by accident the exact same time - they may use both the SAME MsgSeqNum.
>
> (causing exception on both Fix interpretors to intervene)
>
> Any help is very appreciated.
>
> Thanks in advance,
>
> P.Class
> cin/technology
>