簡體   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