Imported from previous forum
Hi,
At the sell(broker) side, there are many buy sides connecting to it. So this means the FIX engine at sell side receives messages from many buy sides. Then I wonder how does the engine differentiate message flows? According to FIX spec, FIX level communication is point-2-point by the 2 parties.
Basically at the TCP level, traffic from different buy sides come over to sell side, there should be some function between TCP and FIX engine to do the differentiation so that FIX engine only deals one side at the other end.
If this understanding is right, could you point me to some doc about this middle layer function between TCP and FIX?
The low level answer to this is that TCP handles it.
The server listens on an incoming port. It can accept multiple incoming connections on that port. When it accepts an incoming connection, a separate “socket” is created for that connection and from that point on all communication for that particular connection happens through that “socket”. The server can accept multiple connections, creating multiple sockets, and communication can happen simultaneously over those different sockets. Nothing gets mixed up.
See, for example, Writing the Server Side of a Socket (The Java™ Tutorials > Custom Networking > All About Sockets)
Of course, normally your FIX engine will handle all this for you - you don’t need to worry about it.
Hi,
At the sell(broker) side, there are many buy sides connecting to it. So this means the FIX engine at sell side receives messages from many buy sides. Then I wonder how does the engine differentiate message flows? According to FIX spec, FIX level communication is point-2-point by the 2 parties.Basically at the TCP level, traffic from different buy sides come over to sell side, there should be some function between TCP and FIX engine to do the differentiation so that FIX engine only deals one side at the other end.
If this understanding is right, could you point me to some doc about this middle layer function between TCP and FIX?