Я рассматриваю возможность перемещения частей приложения .Net на другие компьютеры. Очевидный способ сделать это - просто использовать WCF с двоичным протоколом tcp, например, в качестве описателя в " Самый простой способ получить быстрый RPC с .NET? ".
Я буду делать огромное количество звонков, и задержка - большая проблема. В основном на одном компьютере будет работать симулятор физики, а другие будут взаимодействовать с ним, используя API из нескольких сотен команд.
Я думаю, что лучший способ - это создать собственный двоичный протокол, в котором команды API идентифицируются с помощью int16 и порядкового номера, после чего следуют обязательные параметры. Жесткое соединение классов отправки и получения устранит все ненужные издержки.
Но это МНОГО работы, так как мы говорим о нескольких сотнях API-команд.
Есть какие-нибудь мысли о том, как лучше всего это осуществить?
Изменить:
Для пояснения: сериализация AFAIK в .Net не оптимизирована. Существует относительно высокий штраф за сериализацию и десериализацию объектов, например, при внутреннем использовании Reflection. Это как раз то, чего я хочу избежать, и, следовательно, мой метод прямого сопоставления (аппаратного подключения).
После некоторых поисков я нашел одно приложение, у меня было смутное воспоминание: http://www.protocol -builder.com /