В настоящее время я работаю над 2 приложениями .NET, которые должны взаимодействовать друг с другом. Была выбрана простая система обмена сообщениями Windows, и в данный момент это работает прекрасно.
Данные, которые отправляются в сообщениях, представляют собой простую строку, но теперь я создал класс сообщений, который содержит команду (enum) и член data (string), а затем и другие возможные члены.
Когда я отправляю экземпляр такого класса сообщений, он сериализуется в байты, а затем преобразуется в строку base64. Затем он отправляется с помощью Windows SendMessage ().
С другой стороны я делаю наоборот. В итоге исходный объект восстанавливается и становится доступным в другом приложении.
Хотя этот механизм работает, мне было интересно, безопасно ли это делать.
Действительно, есть некоторые издержки, строка base64 намного длиннее, чем исходное строковое решение (но мне пришлось бы разобрать эту строку вручную, чтобы получить часть команд и данных)
Существует ли максимальный размер сообщений, которые можно отправить с помощью SendMessage?
Кроме того, я бы предпочел держаться подальше от .NET для удаленного взаимодействия для этого проекта и использовать решение SendMessage.
Есть идеи? Может, вместо этого использовать JSON для ограничения накладных расходов?
Спасибо.
Пика