【问题标题】:How to use websockets in a real-time multiplayer game?如何在实时多人游戏中使用 websockets?
【发布时间】:2015-06-19 17:39:58
【问题描述】:

我受到一个名为 agar.io 的游戏的启发,尝试使用 websockets 制作我自己的浏览器游戏。我想知道从这个开始的最好方法是什么。我有一些制作多人游戏的经验,但没有使用 websockets 的经验。

我知道 socket.io,但不想用 javascript 编写它。我试用了这个库:https://github.com/mrniko/netty-socketio 这是 socket.io 到 java 的一个端口,但是当我运行演示时出现延迟(在本地计算机上 50 毫秒)

我查看了 LibGDX 并找到了这个库 (https://github.com/pepedeab/libGDX-Net),我认为这是最好的方法。

有人得到一些提示、提示或建议吗?

【问题讨论】:

    标签: browser websocket socket.io libgdx multiplayer


    【解决方案1】:

    Libgdx 是您应该开始的地方。我发现使用 Libgdx 浏览器部署的人并不多(更不用说联网的 libgdx GWT 应用程序),但我会与您分享一些见解。

    请注意,在浏览器部署中,您对应用程序的功能有更多限制。由于您将使用 (Libgdx) GWT 来部署您的应用程序,因此您的每个外部 jar 都必须与 GWT 兼容才能部署它们(有​​点挫折)。因此,如果您确定要进入浏览器部署,肯定会遇到一些令人头疼的问题,并且可能会遇到一些晦涩难懂的解决方法。见http://www.gwtproject.org/doc/latest/RefJreEmulation.html

    对于一些网络代码示例,请查看which websocket library to use。我知道有一些 android 示例,但它们引用了一些您可能正在寻找的与 GWT 兼容的 websocket 内容。

    如果您正在寻找一种更清洁的做事方式,Nathan Sweet 和 Esoteric Software 的人员在 Kryonet(一个网络库)方面做得非常出色并切换到桌面/安卓/iOS

    【讨论】:

    • 欢迎追问,我很乐意分享我所知道的。
    • 感谢您的洞察!我真的很喜欢 libGDX,但现在我将从使用 jetty websocket 客户端 API 的一些简单的东西开始。我认为这对我来说会更容易,因为我需要很少的图形并且不需要跨平台部署。服务器将在 java 中,客户端在 javascript 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多