In particular embodiments, a method includes receiving a first connection from a client and assigning the client a unique socket. The method further includes selecting, from a plurality of execution hosts, a first execution host for the first connection based at least in part on load-balancing information associated with the execution hosts. Each execution host includes a unique general client engine. The method further includes launching a first transcoding remote desktop client instance at the first execution host in association with the general client engine of the first execution host. The method further includes receiving a second connection from the client, the second connection being associated with the unique socket of the first connection, launching a second transcoding remote desktop client instance at the first execution host in association with the general client engine of the first execution host, and updating the load-balancing information.