繁体   English   中英

LibGDX - 将跨平台客户端连接到服务器(HTML5 / GWT,iOS,Android和桌面)

[英]LibGDX - Connecting cross-platform clients to a server (HTML5/GWT, iOS, Android and Desktop)

在周末,我为我正在制作的游戏设置了所有网络。 我基于这个教程: GamesFromScratch.com基本的LibGDX网络 它说它只支持TCP,但我没关系,因为我可以想出一些东西,网上有很多关于如何制作没有UDP的实时游戏的资料。 完成后,我在桌面,android和HTML5 / GWT上测试了它。 桌面和Android工作,但GWT没有。 我做了一些研究,发现Gdx.net不支持GWT,文章没有警告我:/基本上我现在正试图找到一个可以与所有libgdx平台一起使用的替代解决方案。

我查看了带有Socket IO的Websockets。 以下是我找到的Java库: 客户端服务器 服务器库说它适用于令人放心的客户端。 这似乎是一个很好的解决方案,但我有几个问题:

- 客户端库是否可以在所有平台上运行? 它似乎可以在Android和桌面上工作,因为它们不必转换为另一种语言,但GWT和iOS呢? 不仅可以工作,还可以使用服务器库连接到服务器。

- 使用websockets时有什么我需要注意的吗?

谢谢。

编辑:我做了一点研究,我找到了Jetty 我环顾四周似乎与GWT兼容,我只需要知道它是否也兼容iOS。 我可以使用Jetty作为我的服务器API吗?

我做的。 我在过去的几天里做了很多研究,最后在stackoverflow.com上发现了这篇文章,它告诉了我两个很棒的库,包括一个我可以用来支持GWT的客户端。

它工作得很好,唯一的是我必须为客户端使用2个WebSocket库,一个用于html而另一个用于所有其他平台但是没关系,至少它是有效的。

这些库是: 客户端服务器

你可以使用Kryonet为PC,Android和iOS(未经测试)提供网络。 在此库上,您可以构建服务器端或客户端应用程序。 在GWT中,您有WebSocket,您必须使用其他库来连接服务器。 当你开始游戏时,你可以为GWT注入正确的实现客户端,例如:gwt-websockets和kryonet用于其他平台。

接下来,您必须自己更改kryonet默认序列化实现,支持json。 我的项目中,我使用LibGDX json序列化。

目前,我没有对gwt的支持,但我将在附近的功能上工作。

我认为Jetty对于客户来说太沉重了,并不是那么简单。 但是女巫Spring,你可以轻松创建基于REST或http通信的服务器服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM