1. A remoting system, comprising: a server hardware device configured to implement a remoting system server, wherein the remoting system server is configured to: determine multiple distinct encoding, protocol, and transport (EPT) combinations from among multiple data encodings, multiple protocols, and multiple transports supported by the remoting system server; and advertise the multiple EPT combinations for discovery by clients; a client hardware device configured to implement a remoting system client, wherein the remoting system client is configured to: discover the multiple EPT combinations advertised by the remoting system server; select one of the discovered EPT combinations for transmitting a particular message to the remoting system server; generate, on the remoting system client and according to the selected EPT combination, a specific encoder configured to encode representations of data types as outgoing messages on an interconnect, a specific protocol handler configured to frame the encodings to denote the intent of the outgoing messages, and a specific connection configured to move the encoded and protocol framed outgoing messages from the remoting system client to the remoting system server over the interconnect; transmit the particular message to the remoting system server according to the selected EPT combination; select a different one of the discovered EPT combinations for transmitting a different message to the remoting system server; and transmit the different message to the remoting system server according to the selected different EPT combination; wherein the functionality of each of the encoder, the protocol handler, and the connection is isolated from the functionality of others of the encoder, the protocol handler, and the connection so that program instructions for each can be replaced or modified without replacing or modifying program instructions for any of the others.