GOAL :实现可以从LibGDX / GWT HTML5 / JavaScript部署与服务器通信的基本客户端。这是一个侧面项目多人在线浏览器游戏。
我知道并做了什么:我的所有网络体验都来自KryoNet(创建服务器对象,启动服务器,听取请求,繁荣你完成) - 这可以(或者在LibGDX / GWT HTML5部署中实现类似的架构?
经过几个小时的研究,我还没有运气,这些神奇的东西被称为“WebSockets”,每个人都说要使用。我发现的唯一“WebSockets”是在Gdx.net中,它们是“未实现”。
以下代码(在Libgdxclient-core中执行并从Libgdxclient-html编译)
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);
}
}
生成此输出:
我遇到了几个关于WebSocket实现的GitHub存储库,但是我很难理解它们(如果有的话)实际上与LibGDX / GWT兼容并且可以真正使用我需要阅读的内容实现我的目标(我正在寻找纯Java解决方案)。
答案 0 :(得分:1)
您可能已经解决了问题(或选择了其他解决方案),但它仍然可能对某人有用。
首先:Net
实现中的套接字是TCP套接字,浏览器不支持 - 因此是空实现。即使您使用第三方GWT Web套接字实现,它仍然与LibGDX TCP服务器套接字不兼容。
但是,您可以选择众多Web套接字服务器实现中的一种,以及基于Java的Web套接字客户端解决方案,以及#34;标准"用于Web的LibGDX平台和GWT Web套接字。 LibGDX应用程序的常见选择似乎是:
我建议您研究一些额外的库:
realityforge
的