Как два экземпляра приложения могут общаться на Java? - PullRequest
4 голосов
/ 21 мая 2010

Я занимаюсь разработкой нового приложения Java Desktop. Что-то вроде медиаплеера. Я хочу загрузить большинство ресурсов в фоновом режиме при запуске компьютера. Но пользователи могут отключить эту опцию в приложении или с помощью другой утилиты. Итак, что я хочу сделать, если экземпляр запрета приложения уже запущен, и пользователь снова запускает приложение, то я могу связаться с уже запущенным экземпляром, чтобы он мог запустить новое окно?

Ответы [ 3 ]

7 голосов
/ 21 мая 2010

Самый известный способ сделать это - открыть ServerSocket , когда первое приложение запускается на хорошо известном порту.

Если ServerSocket не удается загрузить, возможно, это связано с тем, что экземпляр уже запущен.

В таком случае вы можете открыть гнездо и начать передавать ваши заказы между обоими экземплярами.

Но вы также можете использовать более сложные решения, такие как Jini или JGroups.

3 голосов
/ 21 мая 2010

Напишите приложение, чтобы оно имело серверную часть

Когда он запускается, попробуйте связаться с сервером (если он уже запущен), и если это работает, то сервер должен открыть новое окно, а клиент должен умереть

Это должно дать вам обзор:

http://java.sun.com/docs/books/tutorial/networking/sockets/clientServer.html

1 голос
/ 21 мая 2010

Вы можете использовать порты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...