java - LibGDX - HTML5 runner,带网络?

标签 java html websocket libgdx netty

我有一个使用 LibGDX Engine 创建的 2D 游戏. 该游戏是为桌面创建的。

还为游戏开发了服务器。

我使用 Netty.io networking library在服务器和客户端之间进行通信。

一切正常,但我想让没有安装 Java 的用户也能玩,我找到的解决方案是使用 LibGDX 提供的 HTML5 运行程序。

但是如果我将其转换为 HTML5,我必须使用 websockets 为 HTML5 客户端重新做网络部分,并在服务器中添加对 websocket 连接的支持,对吗?

还有其他解决办法吗?

最佳答案

在您链接的 Netty.io 网站上,我看到了对 Websockets 的支持,但没有 JS 实现。所以答案取决于 Netty.io 是否有可用的 JS 实现(比如 Socket.io 有 Java 和 JS 的客户端)。

如果 Netty 同时具有 Java 和 JS 的实现,您必须将您使用的所有方法提取到您在核心项目中调用的接口(interface)。 Android 和桌面项目的接口(interface)实现将是您当前使用的 Java 实现,而对于 GWT 后端,您将使用 JSNI 调用 JS 实现。

例如,您可以查看我的使用游戏服务的 Github 项目:Google Play 游戏实现可用于 HTML、桌面和 Android,所有实现都针对相同的接口(interface),HTML 实现使用 JSNI 调用 Google 的 JS 库: https://github.com/MrStahlfelge/gdx-gamesvcs/blob/master/html-gpgs/src/de/golfgl/gdxgamesvcs/GpgsClient.java

如果没有可用的 Netty.io JS 实现,您将不得不自己做或切换到另一个网络层。

关于java - LibGDX - HTML5 runner,带网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52152192/

相关文章:

node.js - 流式 API - 如何将数据从 Node JS 连接(长时间运行的 HTTP GET 调用)发送到前端(React 应用程序)

java - PhpStorm 中的数据库连接导致 java.rmi.ConnectException : Connection refused to host: 127. 0.0.1

java - 无法将 "1,000.00"字符串解析为数字

javascript - jQuery 或 AJAX 会使 HTML "required"属性无效吗?

javascript - Leaflet openstreetmap 加载,但不出现

java - JSR-356 : How to abort a websocket connection during the handshake?

java - 构建 APK 与 apache/http 库冲突

java - jni undefined symbol 错误

javascript - socket.io 的好的初学者教程?

android - Android 上的 jWebSocket 客户端无法连接到本地服务器