我正在编写一个Java包,将被另一种语言(matlab)调用。如果我的matlab进程结束,我希望Java进程继续运行。每当matlab重新启动时,它应该能够与现有的正在运行的进程通信。因此,我认为需要使用客户端/服务器模型通过套接字让Java应用程序进行通信。我设想有一组简单的函数:
- startServer(host, port)
- runCommand(server, command...)
- stopServer(host, port)
我以前从未做过类似的事情。我是否正确地考虑了这个问题,或者有没有更容易构建独立于其父进程的应用程序的方法?最佳的现代化方式是什么(例如,是否有任何好的Apache包)?是否可以提供一个简单的演示或将我指向通过套接字与进程通信的教程?
[编辑] 为了澄清,matlab能够实例化一个Java对象并在其中运行Java代码。因此,在matlab中,startServer()函数将运行Java代码,检查该端口上是否已经有Java进程正在运行,如果没有,则启动服务器进程。
我并不一定要使用套接字(如果不明显的话,我主要是matlab开发人员),因此如果有更简单的方法,我完全支持。我只需要能够独立于matlab运行事务,但是让matlab通过Java控制这些进程。