У нас есть приложение на Java, а также ряд плагинов на основе C # для других приложений (например, Excel), которые могут взаимодействовать с основным приложением. Уровень связи реализован с использованием Apache MINA на стороне Java и xsd для плагинов .NET. Обычно все работает на одной и той же (Windows) машине, хотя было бы лучше не предполагать, что (например, разрешить основному приложению работать на Mac и иметь возможность общаться с Excel на другом компьютере).
Связь должна работать независимо от того, запускаются ли сначала главное приложение или плагин (ы). Мой вопрос, как лучше установить ссылку? В настоящее время наше основное приложение Java прослушивает порт, который плагины постоянно опрашивают на предмет доступности. Это явно расточительно и не элегантно. Но это работает.
Альтернативой может быть то, что каждый плагин прослушивает свой собственный порт, и когда приложение запускается, оно отправляет сообщение типа «Hello» на каждый известный порт (на localhost), а затем плагин устанавливает связь на этот момент.
Я также немного посмотрел на многоадресную рассылку, но не особо разбираюсь в этом. И, конечно, в одной и той же подсети может быть несколько пользователей, использующих приложение.
Есть еще идеи или мысли?