Java 如何在HTML5 LibGDX/GWT中实现网络通信
目标:实现一个基本客户端,可以从LibGDX/GWT HTML5/JavaScript部署与服务器通信。这是一款基于浏览器的多人在线游戏 我所知道和做过的事情:我所有的网络经验都来自KryoNet(创建一个服务器对象,启动服务器,监听请求,完成任务)——这种(或类似的)架构可以在LibGDX/GWT HTML5部署中实现吗 在做了几个小时的研究之后,我还没有发现这些人人都说要使用的叫做“WebSockets”的神奇东西。我发现的唯一“WebSocket”是在Gdx.net中,它们“没有实现” 以下代码(在Libgdxclient核心中执行,并从Libgdxclient html编译) 生成此输出:Java 如何在HTML5 LibGDX/GWT中实现网络通信,java,html,gwt,websocket,libgdx,Java,Html,Gwt,Websocket,Libgdx,目标:实现一个基本客户端,可以从LibGDX/GWT HTML5/JavaScript部署与服务器通信。这是一款基于浏览器的多人在线游戏 我所知道和做过的事情:我所有的网络经验都来自KryoNet(创建一个服务器对象,启动服务器,监听请求,完成任务)——这种(或类似的)架构可以在LibGDX/GWT HTML5部署中实现吗 在做了几个小时的研究之后,我还没有发现这些人人都说要使用的叫做“WebSockets”的神奇东西。我发现的唯一“WebSocket”是在Gdx.net中,它们“没有实现”
在WebSocket实现方面,我遇到了几个GitHub存储库,但是我很困惑其中哪一个(如果有的话)是与LibGDX/GWT兼容的,并且我真的可以帮助我了解我需要阅读什么来实现我的目标(我正在寻找一个纯Java解决方案)。您可能已经解决了您的问题(或者选择了另一种解决方案),但它仍然可能对某些人有用 首先:
Net
实现中的套接字是TCP套接字,浏览器不支持它,因此实现为空。即使使用第三方GWT web套接字实现,它仍然与LibGDX TCP服务器套接字不兼容
但是,您可以选择多种web套接字服务器实现中的一种,以及用于“标准”LibGDX平台的基于Java的web套接字客户端解决方案和用于web的GWT web套接字。LibGDX应用程序的常见选择似乎是:
- -服务器和客户端实现。客户端可以针对大多数常规LibGDX平台
- -一个非常简单的“本机”浏览器web套接字GWT包装器
- -Android兼容的web套接字客户端
- 来自
——更复杂的GWT web套接字包装,包含更多功能realityforge
- -卓越的服务器框架,支持web套接字
- -用于LibGDX应用程序的通用web Socket API。在内部使用nv websocket客户端和自定义GWT包装器来针对大多数LibGDX平台。免责声明:我是作者
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Net.Protocol;
import com.badlogic.gdx.net.Socket;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Net.Protocol;
import com.badlogic.gdx.net.Socket;
public class Client {
private Socket socket;
public Client() {
Gdx.app.log("create()", "connecting.....");
this.socket = Gdx.net.newClientSocket(Protocol.TCP, "127.168.1.1", 54555, null);
}
}