java - 在云中集成 Unity 和 Java

标签 java unity-game-engine

我有一个在桌面上作为客户端运行的游戏,并且想要将所有业务规则存储在外部java服务器中,我了解一些java并制作了使用spring mvc、hibernate在jsp中运行的应用程序,并且已经进行了测试在本地java应用程序中运行的套接字,现在我需要知道的是如何在网络中进行java工作以达到与unity通信的相同目的,反之亦然(如何以及在哪里托管,如何编码)。谢谢。

最佳答案

JamesB 没有地方可以要求教程和此类内容,您应该编辑您的问题以避免这种情况......

您有很多方法可以实现 Java 制作的服务器应用程序和 Unity 游戏客户端之间的通信,因此我认为您的问题很快就会得到一些广泛的关注,但我会尝试为您设置一些要点获取指示并开始您的研究。

您的选择之一是将您的 Java 服务器构建为 REST API,以便通过 json 或类似的方式与您的客户端一起使用,您可以学习大量有关使用 Java 的 REST 应用程序的教程,因为它是一种非常常见且如今已探索过巨大的建筑。在Unity方面,您需要研究如何使用WWW并通过http使用json;

另一种常见的方法是使用套接字和 RPC(远程过程调用),我认为这仍然是游戏中最常见的方法,您可以找到很多关于如何在 Unity 中实现它的教程,也可以在您需要的 Java 中实现它只是为了用谷歌搜索上面提到的术语并进行研究。

我建议的最后一个建议是避免使用 Java 并使用 Unity 的内置网络 API 来实现它(当然,如果您仍然没有实现服务器并假装从头开始,这将适用)。

没有最好的选择,只有更适合您的项目需求的选择,要定义它,您必须研究和理解每个选择以及您的项目本身......

托管的方式和地点取决于您的选择,如果它是一个带有 REST 的 Web API,一个简单的 Java Web 主机,如果它是一个基于 Unity 的解决方案或带有套接字通信的 Java 独立服务器需要专用或虚拟服务器来启动服务器...

很好的研究。

关于java - 在云中集成 Unity 和 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37692017/

相关文章:

java - random() 总是产生相同的数字?

unity-game-engine - 我仍然不明白为什么将一个简单的小型预制件从一个项目复制到另一个项目如此困难?

c# - 错误 : Unable to find Mono. 确保 Mono 的 '/bin' 文件夹已添加到环境的 PATH 变量(在 MacOS 上)

c# - Android & Unity3D - 函数调用转到错误的线程

java - WebView 中的 "android.view.InflateException: Binary XML file Error inflating class"错误

java - ExecutorService 和 Runnable

java.util.NoSuchElementException(运行时错误)

java - 无法将我的字符串转换为日期

c# - 如何创建一个 "buffer"来存储每个帧的变量的先前值

c# - 为什么相机没有旋转面向第一个航路点?