Method invocations (and responses if any) are sent as messages using a MultiplexedMsgConnection. So each end of the connection creates a MultiplexedMsgConnection.
MultiplexedMsgConnection is implemented in the library cxMessage and represents an implementation of message queues on top of TCP. The message queue supports ordered delivery of messages. i.e. messages are received in the same order that messages are sent.
The message queue is transient. i.e. there is no sense in which the message queue itself persists. However within a transient session the framework ensures ordered delivery without missing messages or duplicates. This arises from the use of TCP/IP.
Every message sent/received using a MultiplexedMsgConnection has a MessageId, providing the basis for multiplexing messages on the one TCP connection for different purposes.
So applications can use a given MultiplexedMsgConnection for multiple and distinct purposes. For example, it is possible to bind 3 stubs and 2 skeletons to the one MultiplexedMsgConnection.