TCP transports
TCP transports are a kind of connective transport and support both client and server modes. Server TCP transports create a listening socket at the address and port specified in their endpoint. They will accept connection attempts on that port and create and maintain a reusable socket connection. All messages sent to the connected peer will go through this socket.
Many users of TCP find it convenient to derive their application-level notions of connection from TCP's notion of connection. While this makes their applications somewhat more brittle with respect to transport portability, it is a prevalent approach. SST makes this possible by exposing the endpoints used by the transport itself to manage connections. You can obtain these endpoints through their message assemblers (see Message assemblers) when they send messages or through the communication message's sender attribute when a message is received.
Tip icon
The TCP transport is implemented over SCI, which uses asynchronous callout. This will impose a minor penalty on calls due to thread-switching overhead. As an effect of SCI's non-blocking implementation, non-blocking SCI calls go directly through the stack and asynchronous callout is not required. If the messages being sent are small, it may be worth setting the nonBlocking TCP configuration option described below to true.
 
Last modified date: 04/20/2020