gpt4 book ai didi

java - Netty 游戏服务器与游戏线程通信

转载 作者:行者123 更新时间:2023-12-01 10:24:12 24 4
gpt4 key购买 nike

我使用Netty开发了一个游戏服务器,到目前为止它工作正常。但内部结构还不够好,目前服务器只是接收命令,处理并将结果发送回所有客户端。

我需要该服务器以 30 或 60 fps 的速度向每个游戏室运行一个单独的线程,以便它计算该房间所有帧的物理和运动。目前,客户计算所有运动,显然我有很多问题。我不能依赖客户...

问题是:1) 如何在某个特定时刻在 Netty 线程之外的单独线程上运行我的游戏?

2)如何让这个线程与Netty通信来处理传入的命令?

提前致谢!

最佳答案

创建一个新线程与netty并没有真正的关系。

开始吧:

new Thread( yourRunnable ).start();

或者使用ExecutorService:

ExecutorService executor = Executors.newSingleThreadExecutor( );
executor.submit( yourRunnable );

您的Runnable可能类似于一个不断修改模型的类。要与 netty 通信...只需添加一个 Controller 类,其中包含允许您操作模型的方法(getter、setter、任何您需要的方法),并在收到来自客户端的命令时从 netty 处理程序调用它。

注意并发修改;您可能需要一些同步点。

关于java - Netty 游戏服务器与游戏线程通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35423605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com