Sto realizzando prototipi di macchine singole, software per singolo utente con un modello client-server; il primo client per il quale sarà una CLI, ma mi aspetto che una webapp / GUI (locale) venga in seguito.
Per la CLI, mi piacerebbe essere in grado di connettermi a un'istanza del server esistente per eseguire qualsiasi comando, o avviarne uno per la durata del comando, se non esiste. La GUI avrebbe avviato un server con un tempo più lungo, cioè fino alla chiusura.
Quali sono le buone opzioni per la messaggistica (trasporto) tra client (s) e server qui?
socket Unix? HTTP? AMQP? ZeroMQ? Qualcos'altro?
Mi piacerebbe usare protobuf / cap'n proto, quindi è il trasporto che sto chiedendo davvero - a meno che non ci sia qualche soluzione tutto in uno da raccomandare forse. Mi piacerebbe anche non escludere il supporto di Windows da questa decisione.