Я пишу пакет java, который будет вызываться другим языком (matlab). Если мой matlab-процесс завершается, я хочу, чтобы процесс Java продолжал работать. Всякий раз, когда MATLAB запускается снова, он должен иметь возможность общаться с существующим ходом. Поэтому я думаю, что мне нужно, чтобы приложение Java связывалось через сокеты в модели клиент/сервер. Я представляю себе простой набор функций:
- startServer (хост, порт)
- runCommand (сервер, команда...)
- stopServer (хост, порт)
Я никогда раньше ничего подобного не делал. Думаю ли я об этом правильно, или есть более простой способ создания приложения, которое может запускаться независимо от его родительского процесса? Какой лучший современный способ сделать это (например, есть ли хорошие пакеты Apache)? Может ли кто-нибудь предоставить простое демо или указать мне учебник по общению с процессом через сокеты?
[Edit] Для некоторых пояснений, Matlab может создать экземпляр java-объекта и запустить Java-код внутри себя. Таким образом, функция startServer() в matlab будет запускать Java-код, который будет проверять, если java-процесс уже запущен на этом порту, а если нет, запустите процесс сервера.
Я не привязан к использованию сокетов любыми способами (в случае, если это не очевидно, я в основном разработчик Matlab), поэтому, если там что-то проще, я все для этого. Мне просто нужно иметь возможность запускать вещи независимо от Matlab, но Matlab управляет этими процессами (через java).