【发布时间】:2012-07-14 06:41:38
【问题描述】:
我正在寻找学习如何从 Java 托管其他语言的方向。到目前为止,我已经找到了 JSR 223 和 Bean Scripting Framework 之类的东西,但我的知识和经验不足以告诉我这些是否是合适的起点。
该应用程序是一个泥泞的地方,游戏系统作为连接(通过套接字)到基于 JVM 的服务器的服务运行。
理想情况下,我希望我的泥浆能够处理所有网络,因此我正在考虑编写一个小型网络模块,该模块可以加载任何语言或至少多种流行语言的代码。当有人想编写游戏模块时,他们会使用我的网络模块并将其与他们的代码打包在一起。在启动时,我的网络模块会加载他们的代码并与我的服务器对话。
例如,游戏开发者用 Lua 编写了一个战斗程序。我希望连接到我的服务器的网络程序通过“加载”它(以某种方式)来“托管”这个 Lua 代码。我不希望在我的 Java 程序中嵌入 Lua(Jython、JRuby 等也是如此),因为我寻求更通用的解决方案,但是我理解这是否不切实际。
我正在使用这种方法,以便开发人员可以用任何语言编写游戏系统。
我也考虑过诸如 Bridge RPC 之类的服务,但我更喜欢不依赖于特定供应商的解决方案。
【问题讨论】:
-
定义“托管”。 JVM 可以托管任何具有 JVM 实现的语言。您可以使用任何支持 JVM 应用程序支持的任何机制的东西与 JVM 应用程序(通过套接字、消息传递和其他机制)交互。除此之外,你问的不是很清楚。
-
比如说一个游戏开发者用 Lua 写了一个战斗程序。我希望连接到我的服务器的网络程序通过“加载”它(以某种方式)来“托管”这个 Lua 代码。我不希望在我的 Java 程序中嵌入 Lua(Jython、JRuby 等也是如此),因为我寻求更通用的解决方案,但是我理解这是否不切实际。我将相应地编辑我的问题。
标签: java networking messaging rpc mud