我正在寻找一些方向来学习如何从 Java 托管其他语言。到目前为止,我已经找到了 JSR 223 和 Bean Scripting Framework 之类的东西,但我的知识和经验不足以告诉我这些是否是合适的起点。
该应用程序是一个泥浆,其中游戏系统作为连接(通过套接字)到基于 JVM 的服务器的服务运行。
理想情况下,我希望我的泥浆能够处理所有网络,因此我正在考虑编写一个小型网络模块,它可以从任何语言或至少一些流行语言加载代码。当有人想编写游戏模块时,他们会使用我的网络模块并将其与他们的代码打包在一起。在启动时,我的网络模块加载他们的代码并与我的服务器对话。
例如,一个游戏开发者在 Lua 中编写了一个战斗程序。我希望连接到我的服务器的网络程序通过“加载”它(以某种方式)来“托管”这个 Lua 代码。我不希望将 Lua 嵌入到我的 Java 程序中(Jython、JRuby 等也是如此),因为我寻求更通用的解决方案,但是我理解这是否不切实际。
我正在使用这种方法,因此开发人员可以用任何语言编写游戏系统。
我也考虑过诸如 Bridge RPC 之类的服务,但我更喜欢不依赖于特定供应商的解决方案。