Я пишу настольное приложение для профессиональных пользователей, использующих C ++. Мой текущий дизайн опирается на сторонний компонент C ++, API которого основан на TCP / IP. Для интеграции этого компонента может потребоваться его модификация для замены сетевого кода на обычный C ++ API.
Было бы намного проще, если бы я мог оставить компонент без изменений и общаться с ним так, как он ожидает - по сети. Для этого мне нужно будет запустить компонент в качестве сервера, прослушивающего какой-либо высокий порт для петлевых соединений.
У меня есть две проблемы с этим петлевым подходом. Кто-нибудь может развеять или подтвердить мои страхи?
Надежность и производительность
Соединение с обратной связью может прерваться, быть заблокировано или перехвачено антивирусом. Примерно так: Loopback-соединения, работающие в контексте пользователя, но не работающие с учетной записью Local System
Безопасность
Я не слишком обеспокоен тем, что кто-то прослушивает мои петлевые пакеты, но я не хочу, чтобы мой сервер сам подвергался угрозе безопасности. Опасно ли слушать процесс на каком-нибудь высоком порту?
Много ли настольных приложений работают так?
Я изначально занимаюсь разработкой для Windows, но в будущем могу перейти на Mac и Linux, поэтому этот вопрос относится ко всем распространенным настольным ОС.