Sembra che il tuo unico problema sia il protocollo di comunicazione client - che presumo sia una cosa personalizzata. Questo non è necessariamente un problema. Meccanismi RPC come i Protocolli di buffer di Google richiedono comunque di definire il contenuto del pacchetto, ma ci sono molti sistemi di comunicazione esistenti che potrebbero aiutarti.
I servizi Web sono utili per l'interoperabilità, in quanto sono per lo più standard (basti sapere che i WCF non funzionano completamente con i servizi Web Java o PHP), ma sono relativamente lenti. Risparmio è un RPC truccato o ZeroMQ è un buon sistema di messaggistica. Ognuno di questi potrebbe aiutare a prendere il problema delle comunicazioni dal tuo problema.