"komendy" TCP (w C#)

Witam. Mam program do zdalnego zarządzania (bardzo prymitywny.) Wymianę zadań rozwiązałem następująco:

Program sterowany oczekuje

Program sterujący wysyła komendę

Program sterujący oczekuje

Program sterowany wykonuje zadanie i odpowiada

Program sterujący odbiera odpowiedź

Wszystko prze byte[]+tcp :expressionless:

Moje pytanie - Jak usprawnić ten system ?