Netty 游戏服务器与游戏线程通信
Netty game server communicate with game thread
我使用 Netty 开发了一个游戏服务器,目前运行正常。但是内部结构不够好,目前服务器只是接收命令,处理并将结果返回给所有客户端。
我需要此服务器 运行 以 30 或 60 fps 的速度为每个游戏室提供一个单独的线程,以便它计算该房间所有帧的物理和运动。目前,客户计算所有运动,显然我有很多问题。我不能依赖客户...
问题是:
1) 我怎样才能 运行 我的游戏在某个给定的时刻与 Netty 线程分开?
2) 这个线程如何与Netty通信来处理传入的命令?
提前致谢!
开新帖跟netty关系不大
开始吧:
new Thread( yourRunnable ).start();
或使用 ExecutorService
:
ExecutorService executor = Executors.newSingleThreadExecutor( );
executor.submit( yourRunnable );
您的 Runnable
可能类似于 class,它会不断修改您的模型。要与 netty 通信...只需添加一个控制器 class,其中包含允许您操作模型的方法(getters、setters、您需要的任何方法),并在您从 netty 处理程序接收到命令时调用它客户.
注意并发修改;您可能需要一些同步点。
我使用 Netty 开发了一个游戏服务器,目前运行正常。但是内部结构不够好,目前服务器只是接收命令,处理并将结果返回给所有客户端。
我需要此服务器 运行 以 30 或 60 fps 的速度为每个游戏室提供一个单独的线程,以便它计算该房间所有帧的物理和运动。目前,客户计算所有运动,显然我有很多问题。我不能依赖客户...
问题是: 1) 我怎样才能 运行 我的游戏在某个给定的时刻与 Netty 线程分开?
2) 这个线程如何与Netty通信来处理传入的命令?
提前致谢!
开新帖跟netty关系不大
开始吧:
new Thread( yourRunnable ).start();
或使用 ExecutorService
:
ExecutorService executor = Executors.newSingleThreadExecutor( );
executor.submit( yourRunnable );
您的 Runnable
可能类似于 class,它会不断修改您的模型。要与 netty 通信...只需添加一个控制器 class,其中包含允许您操作模型的方法(getters、setters、您需要的任何方法),并在您从 netty 处理程序接收到命令时调用它客户.
注意并发修改;您可能需要一些同步点。