Java Kryonet和Slick2D

Java Kryonet和Slick2D,java,networking,network-programming,slick2d,kryonet,Java,Networking,Network Programming,Slick2d,Kryonet,我正试图将Kryonet整合到一个光滑的2D游戏中。我正在尝试创建一个服务器/客户端基础设施,用户可以在其中创建服务器或加入服务器来玩两人游戏 本教程建议将整个游戏对象添加为“网络侦听器”,但在我的Slick2D游戏中,GameContainer和StateBasedGame仅在整个应用程序中可用 GameContainer包装了我的游戏对象,这个游戏对象扩展了StateBasedGame。我不知道如何整合KryoNet 我真的很难找到能帮助我的信息,所以任何指导都会很好。你应该创建一个Game

我正试图将Kryonet整合到一个光滑的2D游戏中。我正在尝试创建一个服务器/客户端基础设施,用户可以在其中创建服务器或加入服务器来玩两人游戏

本教程建议将整个游戏对象添加为“网络侦听器”,但在我的Slick2D游戏中,GameContainer和StateBasedGame仅在整个应用程序中可用

GameContainer包装了我的游戏对象,这个游戏对象扩展了StateBasedGame。我不知道如何整合KryoNet


我真的很难找到能帮助我的信息,所以任何指导都会很好。

你应该创建一个GameServer类和一个GameClient类。游戏逻辑进入GameServer,渲染进入GameClient。如果游戏逻辑与渲染代码混合在一起,请看一些模型-视图-控制器解释(这里有一篇不错的文章:)

让我告诉你,通常服务器和客户端是完全不同的应用程序,有时让用户托管服务器是不可行的,因为这可能涉及配置防火墙等等

因此,GameServer应该扩展侦听器,创建kryonet服务器的实例,并将自己作为侦听器添加到服务器。GameClient应该类似地扩展客户端,创建kryonet客户端的实例,并将自己添加为客户端的侦听器

如果将当前游戏状态类的引用传递给GameClient,GameClient可以与其通信并告诉它要渲染什么,然后游戏状态可以告诉客户端要发送什么作为输入。类似地,如果将当前游戏状态类的引用传递给GameServer,则服务器可以向游戏逻辑提供输入,然后游戏逻辑可以告诉服务器要向客户端发送什么

我建议在IP环回上创建一个简单的消息传递程序来熟悉kryonet