Java 如何与Netty进行时间限制?

Java 如何与Netty进行时间限制?,java,timeout,netty,nonblocking,Java,Timeout,Netty,Nonblocking,我正在考虑使用netty为AI机器人竞赛实现服务器。聊天示例是一个良好的开端,因为我设计的协议与基于线路的聊天服务器类似,只是有一个主要区别。机器人被要求转弯,并有最长的响应时间限制。如果bot未能及时响应,服务器将对该bot执行默认操作 特别是我正在实施抵抗游戏。一个领导者将选择一个团队,然后所有机器人都必须提交赞成票或反对票。我想等到所有机器人都投票或超时(例如2秒)发生,在这种情况下,我将为尚未响应的机器人分配一个操作 如何使用Netty实现此功能?我解决此问题的方法是让游戏对象运行在一个

我正在考虑使用netty为AI机器人竞赛实现服务器。聊天示例是一个良好的开端,因为我设计的协议与基于线路的聊天服务器类似,只是有一个主要区别。机器人被要求转弯,并有最长的响应时间限制。如果bot未能及时响应,服务器将对该bot执行默认操作

特别是我正在实施抵抗游戏。一个领导者将选择一个团队,然后所有机器人都必须提交赞成票或反对票。我想等到所有机器人都投票或超时(例如2秒)发生,在这种情况下,我将为尚未响应的机器人分配一个操作


如何使用Netty实现此功能?

我解决此问题的方法是让游戏对象运行在一个线程上,该线程使用CountDownLatch等待时间限制,并从Netty处理程序收集所有投票。任何缺失的投票都会被给予默认投票


如果我想避免每个游戏都有一个线程,我已经建立了一个库,它提供了协作的轻量级线程。然后,每个游戏对象都可以是一个光纤负载,在每个CPU核心的线程之间进行平衡。

Netty提供了传输级协议。看起来您需要实现自己的会话和应用程序协议。水平。